首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Babel-jest不能在node_modules中转换JSX

Babel-jest不能在node_modules中转换JSX
EN

Stack Overflow用户
提问于 2019-04-04 15:09:49
回答 1查看 1.9K关注 0票数 0

运行测试时,Babel-jest不能转换node_modules文件夹中的JSX / ES6,不使用node_modules中其他组件的React组件可以正确通过所有测试。

尝试添加transformIgnorePatterns并重命名为babel.config.js,原因是https://github.com/facebook/jest/issues/6229

package.json

代码语言:javascript
复制
"devDependencies": {
    "@babel/core": "7.1.2",
    "@babel/node": "7.0.0",
    "@babel/plugin-syntax-dynamic-import": "7.2.0",
    "@babel/plugin-transform-modules-commonjs": "^7.4.0",
    "@babel/preset-env": "7.2.0",
    "@babel/preset-react": "7.0.0",
    "babel-eslint": "10.0.1",
    "babel-jest": "24.5.0",
    "babel-loader": "8.0.4",
    "jest": "24.5.0",
    "jest-dom": "3.1.3",
    .......
  },

babel.config.js

代码语言:javascript
复制
module.exports = {
  presets: [
    '@babel/preset-env',
    '@babel/preset-react',
  ],
  plugins: [
    '@babel/plugin-syntax-dynamic-import',
    '@babel/plugin-proposal-class-properties',
    'react-hot-loader/babel',
  ],
  env: {
    test: {
      plugins: ['@babel/plugin-transform-modules-commonjs', '@babel/plugin-proposal-class-properties'],
    },
  },
};

jest.config.js

代码语言:javascript
复制
module.exports = {
  transform: {
    '^.+\\.jsx?$': 'babel-jest',
  },
  moduleNameMapper: {
    '\\.(css|less|scss|sss)$': 'identity-obj-proxy',
  },
  testEnvironment: 'jsdom',
};
EN

回答 1

Stack Overflow用户

发布于 2019-04-05 16:17:03

实际上,下面的链接对我很有帮助。在transformIgnorePatterns中添加来自node_modules的组件就足够了,所以babel-jest会忽略所有文件,而不是我的组件

image from jestjs docs

https://jestjs.io/docs/en/tutorial-react-native#transformignorepatterns-customization

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

https://stackoverflow.com/questions/55509818

复制
相关文章

相似问题

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