Jest: SyntaxError: Unexpected token 'export'

Jest: SyntaxError: Unexpected token 'export'

我在 package.json 文件中添加了以下内容:

"scripts": {
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
},
"jest": {
  "testEnvironment": "jest-environment-node",
  "transform": {}
},
"type": "module",

这应该足够了https://jestjs.io/docs/ecmascript-modules

但是,我仍然有错误:

export {
^^^^^^

SyntaxError: Unexpected token 'export'

错误的来源来自一个依赖项: node_modules\object-array-utils

Node版本为v17.4.0

在我看来,您使用的软件包存在问题。它试图使用 ES 模块语法(导入/导出)但要做到这一点,它需要在其 package.json 文件中声明它:

{
  "type": "module",
  ...
}

例如,请参阅 this guide 以获取有关 ES 模块的更多信息。

PS。对于类似的错误/将来发现此问题的人:找到错误来自哪个包,如果您删除该包,看看它是否继续发生。如果不是,则问题出在包裹上。如果您看到相同的错误但针对的是不同的文件,则您的 jest 配置可能有问题。