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*/});