gpt4 book ai didi

jestjs - Jest - 如何在 babel-jest 中使用根斜杠导入?

转载 作者:行者123 更新时间:2023-12-03 17:38:29 27 4
gpt4 key购买 nike

我正在使用 Babel Jest 来转换我的代码以进行测试。
我不知道如何使用相对于项目根目录的路径。

例如,如果我在一个测试文件中导入一个模块:/imports/ui/myModule Jest 抛出错误

Cannot find module 
'/Users/me/dev/myProject/Users/me/dev/myProject/imports/ui/myModule' from 'test.jsx'`

但是如果我导入一个具有如下相对路径的模块: ../../ui/myModule有用。

我的 .babelrc :
{
"plugins": [
"transform-decorators-legacy",
"transform-class-properties",
"babel-root-slash-import"
],
"presets": [
"es2015",
"react",
"stage-0"
],
"env": {
"test": {
"plugins": [
"transform-decorators-legacy",
"transform-class-properties",
"babel-root-slash-import"
],
"presets": [
"es2015",
"react",
"stage-0"
]
}
}
}

我的 Jest 配置是:
  "jest": {
"roots": ["<rootDir>/imports/tests/jest"]
},

最佳答案

例如,您可以使用 moduleNameMapper 配置选项。

// package.json
{
"jest": {
"roots": ["<rootDir>/imports/tests/jest"]
},
"moduleNameMapper": [
"^ui/(.*)$": "<rootDir>/imports/ui/$1"
]
}

// test.jsx
import myModule from 'imports/ui/myModule';

SO的相关答案: Testing with Jest and Webpack aliases
jest 中的另一个示例的官方文档: https://facebook.github.io/jest/docs/en/webpack.html#configuring-jest-to-find-our-files

关于jestjs - Jest - 如何在 babel-jest 中使用根斜杠导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42484635/

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