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').defaulton commonjs modules.
{
"plugins": [
["dynamic-import-node", { "noInterop": true }]
]
}$ babel --plugins dynamic-import-node script.jsrequire('babel-core').transform('code', {
plugins: ['dynamic-import-node']
});Promise.all([
import('./lib/import1'),
import('./lib/import2')
]).then(([
Import1,
Import2
]) => {
console.log(Import1);
/* CODE HERE*/
});