Babel plugin to transpile import()
to a deferred require()
, for node. Matches the proposed spec.
NOTE: Babylon >= v6.12.0 is required to correctly parse dynamic imports.
NOTE: This plugin generates code compatible with Node.js. Webpack >= 2 supports import()
natively, and for Webpack 1 you can use babel-plugin-dynamic-import-webpack
that generates Webpack-compatible output.
npm install babel-plugin-dynamic-import-node --save-dev
.babelrc
{
"plugins": ["dynamic-import-node"]
}
noInterop
- A boolean value, that if true will not interop the require calls. Useful to avoid usingrequire('module').default
on commonjs modules.
{
"plugins": [
["dynamic-import-node", { "noInterop": true }]
]
}
$ babel --plugins dynamic-import-node script.js
require('babel-core').transform('code', {
plugins: ['dynamic-import-node']
});
Promise.all([
import('./lib/import1'),
import('./lib/import2')
]).then(([
Import1,
Import2
]) => {
console.log(Import1);
/* CODE HERE*/
});