Cannot read 属性 'push' of undefined UglifyJSPlugin in webpack 错误

Cannot read property 'push' of undefined UglifyJSPlugin in webpack error

已经2天解决不了problem.I需要在我的webpack中安装uglifyJsPlugin .但是 webpack 抛出一个 error

webpack.config.js:25
        module.exports.plugins.push(

TypeError: Cannot read property 'push' of undefined

请帮我解决这个问题。?

这是我的 webpack.config.js

const NODE_ENV = process.env.NODE_ENV || "development";

module.exports = {
    entry: "./common",
    output: {
        path: __dirname + "/dist",
        filename:"bundle"
    },
    watch:NODE_ENV == "development",

    devtool:NODE_ENV == "development" ? "cheap-inline-module-source-map" : null,

    module: {

        rules: [{
             test: /\.js$/,
             loader:'babel-loader?optional[]=runtime',
             options: { presets: ['es2015'] }
        }]

    }
};

if (NODE_ENV == "production") {
    module.exports.plugins.push(
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                warnings: false,
                drop_console:true,
                unsafe:true
            }
        })
        )
}

您的配置中似乎没有定义 plugins

添加这个,你就可以开始了

plugins: [],

您可能想要稍微更改导出,如下所示:

var config = {
    entry: "./common",
    output: {
        path: __dirname + "/dist",
        filename:"bundle"
    },
    watch:NODE_ENV == "development",

    devtool:NODE_ENV == "development" ? "cheap-inline-module-source-map" : null,

    module: {

        rules: [{
             test: /\.js$/,
             loader:'babel-loader?optional[]=runtime',
             options: { presets: ['es2015'] }
        }]

    },
    plugins: []
};

if (NODE_ENV == "production") {
    config.plugins.push(
        new webpack.optimize.UglifyJsPlugin({
            compress: {
                warnings: false,
                drop_console:true,
                unsafe:true
            }
        })
    );
}

modules.exports = config;