【问题标题】:jest cannot resolve node modules subpath pattern imports开玩笑无法解析节点模块子路径模式导入
【发布时间】:2021-10-22 10:20:37
【问题描述】:

我使用 node express 构建项目并使用 https://nodejs.org/api/packages.html#packages_subpath_patterns 防止“../../../xxx.js”

我将此添加到 package.json 并完美运行

"imports": {
  "#src/*": "./src/*.js"
}

但是当我尝试从 jest 运行测试时出现这个错误

Cannot find module '#src/config/database.js' from 'src/database/connection.js'

    Require stack:
      src/database/connection.js
      test/admin.test.js

      1 | import { MongoClient } from "mongodb";
    > 2 | import databaseConfig from "#src/config/database.js";
        | ^


      at Resolver.resolveModule (node_modules/jest-resolve/build/resolver.js:311:11)
      at Object.<anonymous> (src/database/connection.js:2:1)

我不知道如何解决这个问题,试图通过谷歌搜索找到解决方案,但文档找不到与此类似的问题

【问题讨论】:

    标签: node.js express ecmascript-6 jestjs es6-modules


    【解决方案1】:

    在你的配置文件中添加这个

    // jest.config.json
    moduleNameMapper: {
        "#src/(.*)": "<rootDir>/src/$1",
    }
    

    https://jestjs.io/docs/configuration#modulenamemapper-objectstring-string--arraystring

    【讨论】:

      猜你喜欢
      • 2020-09-17
      • 2020-02-13
      • 2018-07-30
      • 1970-01-01
      • 2023-01-24
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多