10

它似乎不尊重NODE_PATHSenv 变量,而只是在当前目录中查找。

4

6 回答 6

5

Jest 不读取 NODE_PATH。在我们使用 webpack 的项目中,我们遇到了aliasmoduleDirectories. Jest 没有正确解析路径。所以我们像这样解决了这个问题:假设你想导入

import SomeComp from 'components/SomeComp';

它位于/src/components/SomeComp/index.js

package.json定义中:

"jest": {
  "moduleNameMapper": {
    "/src/(.*)": "<rootDir>/src/$1"
  }
},
于 2018-01-10T15:00:08.140 回答
4

遇到了 Jest 不尊重 webpack 模块解析别名的相同问题。

jest.config.js

moduleNameMapper: {
    'Services(.*)$': '<rootDir>/src/services/$1'
}

您现在可以使用以下导入语句:

import { validateEmail } from 'Services/utilities';
于 2019-01-04T12:33:07.013 回答
4

来自 Jest 文档:

https://jestjs.io/docs/en/configuration

package.json定义:

"jest": {
  "modulePaths": [
    "<rootDir>/src/"
  ],
},
于 2019-04-15T09:42:09.747 回答
2

目前,Jest 不支持NODE_PATH其模块解析代码(除了它从未构建过之外没有其他原因)。

我们现在在这里跟踪问题:https ://github.com/facebook/jest/issues/102

于 2014-08-21T17:26:39.970 回答
0

把它放在你的 package.json 中

"jest": {
  "modulePaths": [
    "<rootDir>"
  ],
},
于 2021-02-22T21:15:04.103 回答
0

有同样的问题,这是我解决它的方法。假设您尝试在 package.json 中导入 src/components/404.vue:

... 
  "jest": {
    "modulePaths": [
      "<rootDir>/src/components"
    ]
  }
...

绝对路径“/src/components/”现在可以在您的 404.test.js 中解析为:

import Page404 from '404.vue'
于 2021-04-15T15:42:47.030 回答