mir*_* zu 9 node.js express ecmascript-6 jestjs es6-modules
我使用 Node Express 构建项目并使用 https://nodejs.org/api/packages.html#packages_subpath_patterns来防止“../../../xxx.js”
我添加了这个package.json并完美运行
"imports": {
"#src/*": "./src/*.js"
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试从笑话运行测试时出现问题我收到了这个错误
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)
Run Code Online (Sandbox Code Playgroud)
我不知道如何解决这个问题,试图从谷歌搜索中找到解决方案,并且文档找不到与此类似的问题
mar*_*ndt 12
将其添加到您的 Jest 配置中(例如 jest.config.json)
"moduleNameMapper": {
"#src/(.*)": "<rootDir>/src/$1"
}
Run Code Online (Sandbox Code Playgroud)
请参阅Jest 配置文档中的moduleNameMapper属性。