【发布时间】:2017-06-15 22:12:11
【问题描述】:
我正在尝试配置 jest,但面对它无法处理 es6 功能的事实。
为了解决这个问题,我在 package.json 中添加了配置:
"jest": {
"transform": {
"^.+\\.jsx?$": "./node_modules/babel-jest"
},
}
我的 .babelrc 配置:
{
"presets": [
"react",
"es2017",
"stage-0",
["env", {
"targets": {
"browsers": ["last 2 versions"]
},
"spec": true,
"modules": false,
"debug": true
}],
],
"plugins": [
["transform-class-properties", { "spec": true }]
]
}
这对我来说看起来很合适,但玩笑无论如何都无法在 import React from 'react'; 上使用 Test suite failed to run 和在道具上运行
class App extends Component {
static propTypes = {}
}
目前我不知道出了什么问题,但看起来 stage-x 功能不仅在 env 预设中不可用,而且plugins 和其他预设都被忽略了。
但是 webpack 构建包没有任何错误。
所以看起来这是个笑话。
请帮我看看是怎么回事?
===========
固定配置.babelrc:
{
"presets": [
"react",
"es2015",
"es2016",
"es2017",
"stage-0",
["env", {
"targets": {
"browsers": ["last 2 versions"]
},
"spec": true,
"modules": false,
"debug": true
}],
],
"plugins": [
["transform-class-properties", { "spec": true }]
]
}
和package.json:
"jest": {
"moduleNameMapper": {
"config.env": "<rootDir>/config/application.production.js",
"^.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|po)$": "<rootDir>/__mocks__/fileMock.js",
"^.+\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
},
"moduleFileExtensions": [
"js",
"jsx",
"js",
"json"
]
},
【问题讨论】:
标签: javascript reactjs babeljs jestjs babel-jest