首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jest -如何在babel-jest中使用根斜杠导入?

Jest -如何在babel-jest中使用根斜杠导入?
EN

Stack Overflow用户
提问于 2017-02-27 19:27:32
回答 1查看 999关注 0票数 5

我正在使用Babel Jest来转译我的代码用于测试目的。我不知道如何使用相对于项目根的路径。

例如,如果在测试文件中使用:/imports/ui/myModule导入模块,则Jest会抛出错误

代码语言:javascript
复制
Cannot find module 
'/Users/me/dev/myProject/Users/me/dev/myProject/imports/ui/myModule' from 'test.jsx'`

但是,如果我导入一个具有相对路径的模块,比如:../../ui/myModule,它就可以工作。

我的.babelrc

代码语言:javascript
复制
{
  "plugins": [
    "transform-decorators-legacy",
    "transform-class-properties",
    "babel-root-slash-import"
  ],
  "presets": [
    "es2015",
    "react",
    "stage-0"
  ],
  "env": {
    "test": {
      "plugins": [
        "transform-decorators-legacy",
        "transform-class-properties",
        "babel-root-slash-import"
      ],
      "presets": [
        "es2015",
        "react",
        "stage-0"
      ]
    }
  }
}

我的Jest配置是:

代码语言:javascript
复制
  "jest": {
    "roots": ["<rootDir>/imports/tests/jest"]
  },
EN

回答 1

Stack Overflow用户

发布于 2018-05-11 14:58:21

在实例中,您可以使用moduleNameMapper配置选项。

代码语言:javascript
复制
// package.json
{
  "jest": {
    "roots": ["<rootDir>/imports/tests/jest"]
  },
  "moduleNameMapper": [
    "^ui/(.*)$": "<rootDir>/imports/ui/$1"
  ]
}

// test.jsx
import myModule from 'imports/ui/myModule';

关于SO的相关答案:Testing with Jest and Webpack aliases

jest官方文档中的另一个示例:https://facebook.github.io/jest/docs/en/webpack.html#configuring-jest-to-find-our-files

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42484635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档