Node.js NodeJS中的动态导入(在Gatsby中):未指定动态导入回调
我试图在NodeJS中使用带有eS6文件的动态导入,但无法使其工作 我在其Node.js NodeJS中的动态导入(在Gatsby中):未指定动态导入回调,node.js,import,gatsby,dynamic-import,Node.js,Import,Gatsby,Dynamic Import,我试图在NodeJS中使用带有eS6文件的动态导入,但无法使其工作 我在其gatsby node.js文件中的gatsby项目中使用它 exports.createPages=async props=>{ //... 常量名称='。/测试' ;(异步()=>{ 常量数据=等待导入(名称) console.log(数据) })() 其中,test.js只是 export const hey='hi' 但我总是得到这样一个未指定动态导入回调。 为什么它不工作?NodeJS版本是12.18.4,因
gatsby node.js
文件中的gatsby
项目中使用它
exports.createPages=async props=>{
//...
常量名称='。/测试'
;(异步()=>{
常量数据=等待导入(名称)
console.log(数据)
})()
其中,test.js
只是
export const hey='hi'
但我总是得到这样一个未指定动态导入回调。
为什么它不工作?NodeJS版本是
12.18.4
,因为它目前不是发布版本,您需要安装ES6的每个所需模块(在您的情况下),并将其添加到您的babel配置中
运行:
然后,在您的Babel文件中(Babel.config.js
或项目根目录中的.babelrc
)将其添加到插件
数组中:
"plugins": ["@babel/plugin-syntax-dynamic-import"]
理想情况下,您的Babel文件应该如下所示:
module.exports = function(api) {
api.cache(true);
const presets = [
[`@babel/preset-env`, { 'useBuiltIns': `usage`, 'corejs': `2` }],
[`@babel/preset-react`, { 'development': true, minify: true }],
];
const plugins = [
`@babel/plugin-syntax-dynamic-import`,
];
return { presets, plugins };
};
我使用的是
.babelrc
,在那里我添加了插件(安装后),但是babel conf是Gatsby提供的,但是它应该与您建议的()相同。但是,我仍然收到相同的错误消息:(
module.exports = function(api) {
api.cache(true);
const presets = [
[`@babel/preset-env`, { 'useBuiltIns': `usage`, 'corejs': `2` }],
[`@babel/preset-react`, { 'development': true, minify: true }],
];
const plugins = [
`@babel/plugin-syntax-dynamic-import`,
];
return { presets, plugins };
};