gpt4 book ai didi

node.js - 使用绝对路径导入组件时,Jest 给出 `Cannot find module`

转载 作者:IT老高 更新时间:2023-10-28 23:07:10 26 4
gpt4 key购买 nike

运行 Jest 时收到以下错误

Cannot find module 'src/views/app' from 'index.jsx'

at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:179:17)
at Object.<anonymous> (src/index.jsx:4:12)

index.jsx

import AppContainer from 'src/views/app';

package.json

  "jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,mjs}"
],
"setupFiles": [
"<rootDir>/config/polyfills.js"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,mjs}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,mjs}"
],
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|mjs)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs)$"
],
"moduleDirectories": [
"node_modules",
"src"
],
"moduleNameMapper": {
"^react-native$": "react-native-web"
},
"moduleFileExtensions": [
"web.js",
"js",
"json",
"web.jsx",
"jsx",
"node",
"mjs"
]
},

运行仅包含树中相对路径的文件的测试运行正确。

为了澄清,我正在寻找如何将 Jest 配置为不会在绝对路径上失败。

最佳答案

我想您正在寻找:rootsmodulePathsmoduleDirectories

您可以添加相对路径和绝对路径。

我会确保包含 <rootDir>在根数组中,<rootDir>在 modulePaths 数组中,和 node_modules在 moduleDirectories 数组中,除非您有充分的理由排除它们。

"jest": {
"roots": [
"<rootDir>",
"/home/some/path/"
],
"modulePaths": [
"<rootDir>",
"/home/some/other/path"
],
"moduleDirectories": [
"node_modules"
],
}

关于node.js - 使用绝对路径导入组件时,Jest 给出 `Cannot find module`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50863312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com