babel-plugin-replace-dynamic-import-runtime
v1.0.2
Published
Babel plugin to replace import() with require() at runtime, for node Edit
Downloads
1,166
Maintainers
Readme
Replace dynamic import()
with require()
at runtime
babel-plugin-replace-dynamic-import-runtime
Babel plugin to replace import(...)
with require(...)
at runtime, for node (also works with await import(...)
)
Use case
This has a very narrow use case: when you want to parse the same file for both browser
and node
(using babel
/webpack
) and still be able to use webpack
's code splitting ability.
This is basically a utility to help reduce code duplication.
So statements like:
...
const someDynamicImport = import('../path/to/your/module');
...
into a require statement that node
can understand:
const someDynamicImport = require('../path/to/your/module');
NOTE: Babylon >= v6.12.0 is required to correct parse dynamic imports.
Installation
yarn add babel-plugin-replace-dynamic-import-runtime --dev
Usage
Via .babelrc
(Recommended)
.babelrc
{
"plugins": ["replace-dynamic-import-runtime"]
}
Via CLI
$ babel --plugins replace-dynamic-import-runtime script.js
Via Node API
require('babel-core').transform('code', {
plugins: ['replace-dynamic-import-runtime']
});