gpt4 book ai didi

javascript - Webpack:我们如何*有条件地*使用插件?

转载 作者:可可西里 更新时间:2023-11-01 01:29:13 25 4
gpt4 key购买 nike

在 Webpack 中,我有以下插件:

plugins: [
new ExtractTextPlugin('styles.css'),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
drop_console: true,
}),
]

我想应用 UglifyJsPlugin 仅针对特定目标,所以我尝试使用我预期的条件:

plugins: [
new ExtractTextPlugin('styles.css'),
(TARGET === 'build') && new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
drop_console: true,
}),
]

但是,这失败了,显示了以下错误消息:

E:\myProject\node_modules\tapable\lib\Tapable.js:164
arguments[i].apply(this);
^

TypeError: arguments[i].apply is not a function

请注意,上面的代码类似于在 plugins 数组末尾设置 false(它会发出相同的错误):

plugins: [
new ExtractTextPlugin('styles.css'),
false
]

所以,问题是:有没有办法在 Webpack 上安装条件插件? (除了使用变量?)

最佳答案

您可以使用使用 the spread operator 的语法

plugins: [
new MiniCssExtractPlugin({
filename: '[name].css'
}),
...(prod ? [] : [new BundleAnalyzerPlugin()]),
],

关于javascript - Webpack:我们如何*有条件地*使用插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36205819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com