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-devIn:
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.jsrequire('babel-core').transform('code', {
plugins: ['import-node']
});