gpt4 book ai didi

javascript - 开 Jest - 语法错误 : Cannot use import statement outside a module

转载 作者:行者123 更新时间:2023-12-01 15:17:12 26 4
gpt4 key购买 nike

我正在使用 jest:24.9.0无需任何配置,从 create-react-app 全局安装。在这些文件中,我使用的是 es6 模块。使用"test": "react-scripts test"没有错误

但是,当我开始使用 jest"test": "jest --config jest.config.js",我看到以下错误。

 FAIL  src/configuration/notifications.test.js
● Test suite failed to run

/var/www/management/node/src/configuration/notifications.test.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import notifications from './notifications';
^^^^^^

SyntaxError: Cannot use import statement outside a module

最佳答案

Jest 不支持 ES6模块,因此当您直接使用 Jest 运行测试时会引发此错误。如果你想这样运行,那么你必须添加 babel。
另一方面,当您使用 react-scripts 运行测试时它在幕后使用 babel 来转换代码。

In newer version of jest, babel-jest is now automatically loaded by Jest and fully integrated


希望这能回答你的问题。
Jest 添加 babel。
安装 babel-jest现在由 Jest 自动加载并完全集成。仅当您使用 babel-jest 转换 TypeScript 文件时才需要此步骤。
npm install --save-dev babel-jest
用法
在您的 package.json文件进行以下更改:
{
"scripts": {
"test": "jest"
},
"jest": {
"transform": {
"^.+\\.[t|j]sx?$": "babel-jest"
}
}
}
创建 .babelrc配置文件
创建 babel.config.json在您的项目根目录中配置并启用一些 presets .
首先,您可以使用 env 预设,它为 ES2015+ 启用转换
npm install @babel/preset-env --save-dev
为了启用预设,您必须在 babel.config.json 中定义它。文件,像这样:
{
"presets": ["@babel/preset-env"]
}
更多详情请查看 Babel official site

关于javascript - 开 Jest - 语法错误 : Cannot use import statement outside a module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59879689/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com