Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jest moduleNameMapper查找文件:";分解器";:未定义_Javascript_Reactjs_Jestjs_Package.json - Fatal编程技术网

Javascript Jest moduleNameMapper查找文件:";分解器";:未定义

Javascript Jest moduleNameMapper查找文件:";分解器";:未定义,javascript,reactjs,jestjs,package.json,Javascript,Reactjs,Jestjs,Package.json,我在路径下的src/components/text文件夹中有一个文本文件(以及其他文件) 但是,当Web包别名从“组件/文本”导入文本时,Jest找不到此文件被使用 我尝试添加到package.json: “笑话”:{ “全球”:{ “节点环境”:“测试” }, “转变”:{ “\\.[jt]sx?$”:“巴别塔笑话” }, “冗长”:错误, “rootDir”:“, “CollectionCoverage from”:[ “***.{js,jsx,ts,tsx}”, “!***/.d.ts”

我在路径下的
src/components/text
文件夹中有一个文本文件(以及其他文件)

但是,当Web包别名
从“组件/文本”导入文本时,Jest找不到此文件被使用

我尝试添加到
package.json


“笑话”:{
“全球”:{
“节点环境”:“测试”
},
“转变”:{
“\\.[jt]sx?$”:“巴别塔笑话”
},
“冗长”:错误,
“rootDir”:“,
“CollectionCoverage from”:[
“***.{js,jsx,ts,tsx}”,
“!***/.d.ts”
],
“moduleFileExtensions”:[
“js”,
“jsx”,
“ts”,
“tsx”
],
“moduleNameMapper”:{
“\\(css | less | scss | sass | svg)$”:“标识obj代理”,
“^components/(.*)$”:“/src/components/$1”,
“^assets/(.*)$”:“/src/assets/$1”,
“^utils/(.*)$”:“/src/utils/$1”,
“^styles/(.*)$”:“/src/styles/$1”
“/^locales\/(.*)$/”:“/src/locales/$1”,
},
“测试匹配”:[
***.{spec,test}.{js,jsx,ts,tsx}
],
“modulePathIgnorePatterns”:[
“/区”
],
“transformIgnorePatterns”:[
“/node_modules/(?!(@opt ui |@equinor))”
],
“coverage目录”:“/tests/coverage/”
}
但我得到了一个错误:

测试套件无法运行
配置错误:
找不到映射为以下内容的模块组件/文本:
/用户/olahalvorsen/cssu仪表板客户端/src/components$1。
请检查这些条目的配置:
{
“moduleNameMapper”:{
“/^components\/(.*)$/”:“/Users/olahalvorsen/cssu dashboard client/src/components$1”
},
“解析器”:未定义
}
因此,ModuleMapper中的“^components/(.*)$”:“/src/components/$1”
解决了上面的第一个问题:)

但现在我得到了另一个错误:

FAIL  src/pages/errorpage/tests/error.test.jsx
  ● Test suite failed to run

    Cannot find module 'locales' from 'src/utils/helpers/helpers.js'

    Require stack:
      src/utils/helpers/helpers.js
      src/components/text/index.jsx
      src/pages/errorpage/error.jsx
      src/pages/errorpage/tests/error.test.jsx

      29 | import { nb, enGB } from "date-fns/locale";
      30 | 
    > 31 | import translations from "locales";
         | ^
      32 | 
      33 | export const capitalize = string => {
      34 |   if (typeof string === "string") {


我更新了上面的package.json。区域设置的相对目录是
src/locales
。这不应该起作用吗:

  "moduleNameMapper": {
      "^locales/(.*)$": "<rootDir>/src/locales$1",
“moduleNameMapper”:{
“^locales/(.*)$”:“/src/locales$1”,
我尝试使用:
“/^locales\/(.*)$/”:“/src/locales/$1”


解决方案是使用:
“^locales(.*)$”:“/src/locales/$1”

基于日志,我猜您的配置是
/^components\/(.*)$:“/src/components$1”
,它与给定代码不同的是
^components(.*)$

假设上述内容是正确的,那么您可能需要更改为以下内容以使其正常工作:

{
“moduleNameMapper”:{
“/^components\/(.*)$/”:“/src/components/$1”//您在剩余值“$1”之前漏掉了“/”`
},
}

谢谢你的帮助。我现在找不到另一个模块。你有什么建议吗?我尝试了你在上面描述的方法,但没有成功。我现在可以使用了!使用
“^locales(.*)$”:“/src/locales/$1”。
你应该将
/
从其他模块中排除,这样更好:
^locales\/(.*))$
您似乎还有一个问题。您是否检查了我为您留下的答案?是的,谢谢-它起作用了。我还有一个问题:)