【问题标题】:Jest can't resolve import with @ (at) characterJest 无法解析带有 @ (at) 字符的导入
【发布时间】:2021-10-23 07:04:02
【问题描述】:
我有问题。当我运行 Jest 测试时,它无法解析带有 at (@) 符号的导入。我有一个错误:
FAIL src/App.test.js
● Test suite failed to run
Cannot find module '@/helpers/configureStore' from 'App.js'
如何解决此错误?
【问题讨论】:
标签:
javascript
webpack
jestjs
【解决方案1】:
我找到了解决方案in this post。因此,根据jest docs,我们应该转到package.json 文件,并确保我们的配置包含以下内容:
{
"jest": {
"moduleNameMapper": {
"@/(.*)$": "<rootDir>/src/$1"
}
}
}
"@/(.*)$": "<rootDir>/src/$1" 这是一个很酷的正则表达式,可以将我们的@/helpers/configureStore 解析为src/helpers/configureStore。
还记得退出 jest 交互模式(使用q 键)并再次运行以查看更改。
【解决方案2】:
如果您使用 jest.config.ts 并导入类似 '@app/app.constants' 的内容,您可以替换
moduleNameMapper: {},
与
moduleNameMapper: {
"@app/(.*)$": "<rootDir>/src/app/$1",
},