相关疑难解决方法(0)

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

在Webpack中,我有以下插件:

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

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

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

但是,此操作失败,显示以下错误消息:

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

TypeError: arguments[i].apply is not a function
Run Code Online (Sandbox Code Playgroud)

请注意,上面的代码类似于falseplugins数组的末尾(发出相同的错误):

plugins: [
        new ExtractTextPlugin('styles.css'),
        false
    ]
Run Code Online (Sandbox Code Playgroud)

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

javascript webpack

15
推荐指数
4
解决办法
4939
查看次数

标签 统计

javascript ×1

webpack ×1