Jest、env preset 和 stage-0 特性
Jest, env preset and stage-0 features
我正在尝试配置 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 }]
]
}
它看起来很适合我,但开玩笑无论如何都无法 运行 Test suite failed to run
import React from 'react';
和
中的道具
class App extends Component {
static propTypes = {}
}
目前我不知道出了什么问题,但看起来 stage-x 功能不仅在环境预设中不可用,而且 plugins
和其他预设都被忽略了。
但是 webpack 构建 bundle 没有任何错误。
所以看起来这是个笑话问题。
可以帮我看看是怎么回事吗?
==========
固定配置 .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"
]
},
es2017
预设不包括 es2016
和 es2015
。
您可以显式地包含所有这些,也可以改用 preset-env。
此外,您不必在 jest 配置中显式设置 transform
属性。
Note: babel-jest is automatically installed when installing Jest and will automatically transform files if a babel configuration exists in your project.
我正在尝试配置 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 }]
]
}
它看起来很适合我,但开玩笑无论如何都无法 运行 Test suite failed to run
import React from 'react';
和
class App extends Component {
static propTypes = {}
}
目前我不知道出了什么问题,但看起来 stage-x 功能不仅在环境预设中不可用,而且 plugins
和其他预设都被忽略了。
但是 webpack 构建 bundle 没有任何错误。
所以看起来这是个笑话问题。
可以帮我看看是怎么回事吗?
==========
固定配置 .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"
]
},
es2017
预设不包括 es2016
和 es2015
。
您可以显式地包含所有这些,也可以改用 preset-env。
此外,您不必在 jest 配置中显式设置 transform
属性。
Note: babel-jest is automatically installed when installing Jest and will automatically transform files if a babel configuration exists in your project.