【发布时间】:2017-10-31 10:26:07
【问题描述】:
我在我的项目中使用了装饰器,但是 babel-jest 似乎不支持这个新的实验功能 我从 github issue ===> 中找到了一些支持,它用 webpack-babel-jest 替换了 babel-jest,它解决了装饰器问题。但是当我运行 npm run test ==> "ReferenceError: regeneratorRuntime is not defined" 时出现了一个新问题 看来我们需要 regenerator-runtime。(我在我的项目中使用 redux-saga)我无法解决这个问题。
package.json {
"babel-core": "^6.7.6",
"babel-eslint": "^7.2.3",
"babel-jest": "^21.2.0",
"babel-loader": "^6.2.4",
"babel-plugin-module-resolver": "^2.7.1",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-plugin-transform-react-jsx-source": "^6.22.0",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-polyfill": "^6.23.0",
"babel-preset-es2015": "^6.6.0",
"babel-preset-react": "^6.5.0",
"babel-preset-stage-0": "^6.5.0",
"css-loader": "^0.23.1",
"enzyme": "^3.1.0",
"enzyme-adapter-react-15.4": "^1.0.3",
"jest": "^21.2.1",
"node-sass": "^3.4.2",
"react-addons-test-utils": "^15.4.2",
"regenerator-runtime": "^0.11.0" }
.babelrc {
{
"presets": [
"es2015",
"react",
"stage-0"
],
"plugins": [
"transform-decorators-legacy",
"transform-react-jsx-source",
"transform-class-properties",
["transform-runtime", {
"polyfill": false,
"regenerator": true
}
],
"env": {
"development": {
"presets": [
"react-hmre"
]
},
"test": {
"presets": [
"es2015",
"react",
"stage-0"
]
}
}
}
}
【问题讨论】:
-
最好在每个测试失败的文件中明确
import * from "regenerator-runtime";
标签: javascript reactjs babeljs jestjs