Babel plugin to transpile import()
to require.ensure
, for Webpack.
Note that Webpack 2 has gotten import()
after this code was written.
NOTE: Babylon v6.12.0 is required to correctly parse dynamic imports.
$ npm install babel-plugin-dynamic-import-webpack --save-dev
.babelrc
{
"plugins": ["dynamic-import-webpack"]
}
$ babel --plugins dynamic-import-webpack script.js
require("babel-core").transform("code", {
plugins: ["dynamic-import-webpack"]
});
Although the specification for import()
supports a dynamic importing of modules in the browser runtime, webpack's require.ensure()
is not dynamic and requires a hardcoded string to work correctly. For more information see webpack's documentation on dynamic imports.