Babel plugin to transpile import()
to requireAsync()
.
NOTE: Babylon >= v6.12.0 is required to correct parse dynamic imports.
$ npm install babel-plugin-import-node --save-dev
In:
const asyncRoutes = [
import('./root').then(module => module.default),
import(`./named_${subRoute}`),
]
Out:
var _requireAsync = function requireAsync(modulePath) {
return Promise.resolve().then(function() {
return require(modulePath);
});
};
const asyncRoutes = [
_requireAsync('./root').then(module => module.default),
_requireAsync(`./named_${subRoute}`),
]
.babelrc
{
"plugins": ["import-node"]
}
$ babel --plugins import-node script.js
require('babel-core').transform('code', {
plugins: ['import-node']
});