开玩笑使用Webpack解析时无法检测到绝对路径

利纳斯·M。

运行笑话测试时出现以下错误:

src/tests/components/ImageSearchApp.test.js
  ● Test suite failed to run

    Cannot find module '@comp/Header' from 'src/components/ImageSearchApp.js'

    Require stack:
      src/components/ImageSearchApp.js
      src/tests/components/ImageSearchApp.test.js

      2 | import React from "react";
      3 | /* ========= Components ============= */
    > 4 | import Header from "@comp/Header";
        | ^
      5 | import { SearchImages } from "@cont/SearchImages";
      6 | import Footer from "@comp/Footer";
      7 | /* ========= Code ============= */

      at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:306:11)
      at Object.<anonymous> (src/components/ImageSearchApp.js:4:1)

这是在我在webpack.config.js中实现解析路径后开始的

resolve: {
      alias: {
        "@root": path.resolve(__dirname, "./"),
        "@src": path.resolve(__dirname, "src/"),
        "@actions": path.resolve(__dirname, "src/actions"),
        "@comp": path.resolve(__dirname, "src/components"),
        "@cont": path.resolve(__dirname, "src/containers"),
        "@img": path.resolve(__dirname, "src/img"),
        "@reducers": path.resolve(__dirname, "src/reducers"),
        "@selectors": path.resolve(__dirname, "src/selectors"),
        "@store": path.resolve(__dirname, "src/store"),
        "@tests": path.resolve(__dirname, "src/tests"),
        "@consts": path.resolve(__dirname, "src/constants"),
      },
    },

我的绝对路径在我的react组件中工作正常,但是我无法运行测试。我的jest.config.json看起来像这样:

{
  "setupFiles": ["raf/polyfill", "<rootDir>/src/tests/setupTests.js"],
  "snapshotSerializers": ["enzyme-to-json/serializer"]
}

这就是我在package.json中运行测试命令的方式:

"scripts": {
    ...,
    "test": "jest --config=jest.config.json --watch",
    ...
},

最后,我的应用程序结构:

App
|--dist
|--node_modules
|--src
|   |--components
|   |--tests
|       |--compoenent.test.js
|       |--setupTest.js 
|   |--app.js
|--jest.config.json
|--webpack.config.js
|--package.json

有人可以指出我如何解决此问题的方式。我想在我的webpack.config.js中使用绝对路径

路易斯

在您中,jest.config.json您需要设置moduleNameMapper属性并映射在webpack中设置的相同别名。

您还可以选择使用modulePaths设置路径

例:

"moduleNameMapper": {
    "@root/(.*)": "<rootDir>/$1",
    "@src/(.*)": "<rootDir>/src/$1",
    "@actions/(.*)": "<rootDir>/src/actions/$1",
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法使用绝对路径导入

Webpack2 无法解析:config.context 绝对路径

make无法解析目标名称的绝对路径

使用React + Webpack时如何使用绝对路径导入自定义scss?

使用baseUrl导入模块时,如何使tsc解析绝对路径?

为什么corebuild无法使用绝对路径?

bash中的命令无法使用绝对路径

使用Firefox geckodriver的绝对路径时,Python Selenium测试无法运行

配置webpack使用绝对路径而不是相对路径

无法安装Flutter绝对路径

Webpack 4-无法使用url-loader在src中加载具有绝对路径的图像

对ClassLoader使用绝对路径getResourceAsStream()

使用绝对路径时,如何修复cygwin中的Windows 8 Anaconda“无法打开文件”错误?

WatchService-错误解析的绝对路径

如何使用<spring:url />解析相对URI的绝对路径

创建绝对路径

Jsoup绝对路径

导入具有绝对路径的组件时,Jest提供了“无法找到模块”

从绝对路径+相对或绝对路径创建新的绝对路径

使用sshpass时找不到使用绝对路径指定的可执行文件

无法在Maven插件中定义绝对路径

没有绝对路径,ModX将无法工作

无法获取安装模块的绝对路径

无法在Python中获得绝对路径

即使使用绝对路径调用,Apache / PHP也无法执行转换

CMake无法使用绝对路径找到现有文件

使用Python无法基于XML中的绝对路径定位元素

PHP:使用绝对路径无法在包含/需要文件中定义变量

如果使用绝对路径调用应用程序,则Bash完成将无法正常工作

TOP 榜单

热门标签

归档