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