1
我正在尝试配置jest,但是面对它无法处理es6功能的事实。Jest,env预设和stage-0功能
为了解决这个问题我已经添加配置的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 }]
]
}
它看起来正确的给我,但无论如何笑话不能与Test suite failed to run
上运行import React from 'react';
及道具中
class App extends Component {
static propTypes = {}
}
此刻我h我们不知道哪里出了问题,但它看起来像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"
]
},
好了,我已删除了,但还是开玩笑上失败'进口从“反应”反应;' – SilentImp
我傻,我怎么错过呢..你应该使用[预设ENV(https://开头babeljs.io/docs/plugins/preset-env/),因为'es2017'不包含'es2016'和'es2015'。我将修复答案 – Nataly87
但实际上我在上面的配置中有'preset-env' ... 但是看起来你是对的,我已经将配置更改为上面的[package.json]和[.babelrc]。我已将它们放入原始文章中,因为它们不适合评论大小。 但我觉得我的.babelrc目前有点奇怪。 – SilentImp