在Weback中找不到别名模块的模块

时间:2019-04-12 20:47:19

标签: javascript webpack jestjs

在webpack中,我为库设置了别名

resolve: {
 alias: {
  "@local/module": path.resolve(__dirname, "..path")
 }
}

在使用此模块的组件上开玩笑时,出现以下错误:

Cannot find module '@local/module' from 'Component.tsx'

我尝试在我的jest.config.js中添加以下内容,但没有成功

moduleDirectories: ["node_modules", "src"],

任何帮助将不胜感激,谢谢

2 个答案:

答案 0 :(得分:0)

Jest不了解Webpack的别名。您需要使用Jest自己的别名系统来定义相同的别名。

在您的jest.config.js中,添加一个moduleNameMapper键,如下所示:

{
  "moduleNameMapper": {
    "@local/module": "<rootDir>/src/module"
  }
}

它还支持Regex用于动态重写路径。有关更多信息,请参见the documentation

答案 1 :(得分:0)

您可能是说path.resolve(__dirname, "..", path)