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.
npm install babel-plugin-dynamic-import-node --save-dev
.babelrc
(Recommended).babelrc
{ "plugins": ["dynamic-import-node"] }
noInterop
- A boolean value, that if true will not interop the require calls. Useful to avoid using require('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*/ });