我正在尝试运行 Jest,但此错误一直阻止我运行任何测试:
Error while loading config -
You appear to be using a native ECMAScript module configuration file, which is only supported when running Babel asynchronously.
at loadCjsOrMjsDefault (node_modules/@babel/core/lib/config/files/module-types.js:59:13)
at loadCjsOrMjsDefault.next (<anonymous>)
at readConfigJS (node_modules/@babel/core/lib/config/files/configuration.js:174:47)
at readConfigJS.next (<anonymous>)
at Function.<anonymous> (node_modules/@babel/core/lib/gensync-utils/async.js:16:3)
at evaluateSync (node_modules/gensync/index.js:251:28)
at Function.sync (node_modules/gensync/index.js:89:14)
at sync (node_modules/@babel/core/lib/gensync-utils/async.js:56:25)
at sync (node_modules/gensync/index.js:182:19)
我正在使用 nodemon
和 sucrase
来运行我的服务器(如果相关的话)。
我的 babel 配置
module.exports = {
presets: [
[
'@babel/preset-env',
{
targets: {
node: 'current'
}
}
]
]
};
我的package.json
{
"type": "module",
"scripts": {
"dev": "nodemon src/server.js",
"test": "jest"
}
}
答案 0 :(得分:1)
我认为问题在于您的 package.json
表示您使用的是 ES6 模块,但您的 Babel 配置使用的是 CommonJS(而非 ES6 模块)的 module.exports
。
我将我的 babel.config.js
重命名为 babel.config.cjs
,这解决了问题。我想您也可以将 module.exports
更改为 export default
,但我还没有尝试过。