【问题标题】:Cannot find module for aliased module in weback在 weback 中找不到别名模块的模块
【发布时间】:2019-04-14 14:01:07
【问题描述】:

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

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

在使用此模块的组件上运行 jest 时,我收到以下错误:

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

我尝试在jest.config.js 中包含以下内容,但没有成功

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

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

【问题讨论】:

    标签: javascript webpack jestjs


    【解决方案1】:

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

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

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

    它还支持动态重写路径的正则表达式。请参阅the documentation 了解更多信息。

    【讨论】:

      【解决方案2】:

      你的意思可能是path.resolve(__dirname, "..", path)

      【讨论】:

        猜你喜欢
        • 2017-03-08
        • 2017-07-25
        • 1970-01-01
        • 2019-09-24
        • 1970-01-01
        • 2016-09-12
        • 2019-07-03
        • 2018-02-21
        相关资源
        最近更新 更多