Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.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以仅转换模块中的某些文件类型_Javascript_Node.js_Jestjs_Babeljs_Babel Jest - Fatal编程技术网

Javascript 获取jest以仅转换模块中的某些文件类型

Javascript 获取jest以仅转换模块中的某些文件类型,javascript,node.js,jestjs,babeljs,babel-jest,Javascript,Node.js,Jestjs,Babeljs,Babel Jest,我目前有一个项目使用jest进行单元测试。我遇到的问题是,其中一个依赖模块需要.css文件: ./node_modules/problem-module/dist/problem-module.js: line 0: require("./problem-module.css"); 我将jest配置为不忽略用于转换的特定模块,并用所需的CSS解决了这个问题。尽管如此,现在测试失败了,因为jest试图用babel jest转换模块中的所有.js文件,这些文件在模块发布之前都是通过babel

我目前有一个项目使用jest进行单元测试。我遇到的问题是,其中一个依赖模块需要.css文件:

./node_modules/problem-module/dist/problem-module.js:

  line 0: require("./problem-module.css");
我将jest配置为不忽略用于转换的特定模块,并用所需的CSS解决了这个问题。尽管如此,现在测试失败了,因为jest试图用babel jest转换模块中的所有.js文件,这些文件在模块发布之前都是通过babel运行的。这会导致类似以下情况的错误:

TypeError: (0 , problemModuleFunction.default) is not a function
我的jest配置:

  "jest": {
    "testEnvironment": "jsdom",
    "testMatch": [
      "<rootDir>/src/**/*.test.js"
    ],
    "moduleDirectories": [
      "<rootDir>/src",
      "<rootDir>/node_modules"
    ],
    "moduleNameMapper": {
      "\\.(css|scss)$": "<rootDir>/__mocks__/styleMock.js",
      "\\.(jpg|gif|ttf|eot|svg)$": "<rootDir>/__mocks__/fileMock.js"
    },
    "transform": {
      "^((?!mock).)*.(js|jsx)$": "babel-jest",
      "\\.(css|styl|less|sass|scss)$": "<rootDir>/node_modules/jest-css-modules-transform"
    },
    "transformIgnorePatterns": [
        "node_modules/(?!(problem-module))"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/setupTests.js"
    ],
    "moduleFileExtensions": [
      "css",
      "scss",
      "js",
      "json",
      "jsx"
    ]
  },
“开玩笑”:{
“测试环境”:“jsdom”,
“测试匹配”:[
“/src/***.test.js”
],
“模块目录”:[
“/src”,
“/node\u模块”
],
“moduleNameMapper”:{
“\\(css | scss)$”:“/\uu mocks\uuu/styleMock.js”,
“\\(jpg | gif | ttf | eot | svg)$”:“/\uu mocks\uuu/fileMock.js”
},
“转变”:{
“^((?!mock)。*(js | jsx)$”:“巴别塔笑话”,
“\\(css | styl | less | sass | scss)$”:“/node_modules/jest css modules transform”
},
“transformIgnorePatterns”:[
“节点_模块/(?!(问题模块))”
],
“SetupFileAfterEnv”:[
“/setupTests.js”
],
“moduleFileExtensions”:[
“css”,
“scss”,
“js”,
“json”,
“jsx”
]
},
确保此模块中的CSS文件正确映射而不转换任何JS文件的最佳方法是什么