我必须使用 babel-preset-env 和 babel-preset-stage-2 才能将 webpack 用于包含扩展运算符的代码。之后,我成功地使用 webpack 构建了我的包,但是这次我在运行时遇到了生成器运行时错误。
所以首先我尝试在这个页面中做解决方案,babel-polyfill,但我的团队不希望我使用它,而是他们要求我使用 transform-runtime 插件,所以我安装了它并将它放在 babelrc 文件中但仍然得到相同生成器运行时错误,对此有任何想法吗?我应该多做些什么?
这是 babelrc 文件
{
"presets": [
"env",
"stage-2",
"es2015"
],
"plugins": [
"transform-async-to-generator",
[
"transform-runtime",
{
"helpers": false,
"polyfill": false,
"regenerator": true
}
]
]
}
webpack 配置文件
var path = require('path')
module.exports = {
entry: path.resolve(__dirname, 'partner/index.js'),
output: {
path: path.resolve(__dirname, './dist'),
filename: 'partner_bundle.js'
},
target: 'web',
module: {
rules: [
{
test: /\.js$/, // Check for all js files
loader: 'babel-loader',
query: {
presets: ['babel-preset-env', 'babel-preset-stage-2'].map(
require.resolve
)
},
exclude: /node_modules\/(?!other-module)/
}
]
},
stats: {
colors: true
},
devtool: 'source-map',
resolve: { symlinks: false }
}
package.json 中的 babel 和 webpack 版本
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-polyfill": "^6.26.0",
"babel-preset-env": "^1.6.1",
"babel-preset-stage-0": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"webpack": "^4.0.1",
"webpack-cli": "^2.0.9"