在他们的网站上,webpack展示了插件的用法,如下所示:
plugins: [
new webpack.optimize.UglifyJsPlugin(),
new HtmlWebpackPlugin({template: './src/index.html'})
]
我想使用babel插件transform-async-to-generator,所以我将其添加到babelrc文件中,但我不知道这是否足够,是否还需要在webpack文件中添加?如果需要,应该如何添加?
我无法确定在webpack配置文件中编写插件是否是必需的,因为目前我遇到了运行时错误,并不确定仅在babelrc文件中编写是否有效。
我的当前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-0'
].map(require.resolve)
},
exclude: /node_modules\/(?!other-module)/
}
]
},
stats: {
colors: true
},
devtool: 'source-map',
resolve: { symlinks: false }
}
babelrc file
{
"presets": [
"env",
"stage-2"
],
"plugins": [
"transform-async-to-generator",
"transform-async-generator-functions",
[
"transform-runtime",
{
"helpers": false,
"polyfill": false,
"regenerator": true
}
]
]
}
module
条目来使用babel-loader
。你的.babelrc
文件定义了babel应该做什么。在webpack配置中包含babel-loader
实际上是在运行babel对你的代码进行转换。查看这个关于如何在webpack中使用babel的教程。 - Chirag Ravindrababel-loader
会自动使用.babelrc
文件,因此您不必在webpack.config.js
中添加相同的配置。实际上,您还可以将当前在webpack配置中拥有的babel预设放入.babelrc
中。 - Daniel Diekmeier