webpack.optimize.UglifyJSPlugin 在 uglifyjs-webpack-plugin 工作时不工作

webpack.optimize.UglifyJSPlugin does not work while uglifyjs-webpack-plugin works

我有 2 个文件 app.js & math.js

它包含以下代码-

app.js

import { sum } from "./math";

console.log("");

console.log(sum(2, 3));

math.js

export const sum = (a, b) => a + b;
export const multiply = (m, n) => m * n;

webpack.config.js

const path = require("path");
const webpack = require("webpack");
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
const config = {
    entry: "./app.js",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "bundle.js"
    },
    plugins: [
        new UglifyJsPlugin()
        // new webpack.optimize.UglifyJsPlugin() doesn't work
    ]
};

module.exports = config;

完整代码可在 https://github.com/deadcoder0904/webpack-treeshake

问题是 UglifyJsPlugin 有效,但 webpack.optimize.UglifyJsPlugin() 无效

我的webpack版本是v3.11.0

张贴我自己的问题的答案。感谢@str 的帮助。

我使用的是不同版本的 Uglify JS,不确定是否是这个问题。

所以我尝试安装现在处于测试阶段的 webpack 版本 4,所以我必须安装 webpack@next。此外,webpack-cli 现在是它自己的包,所以我也必须安装它。早些时候,它与 webpack 本身捆绑在一起。

安装 webpack@nextwebpack-cli 后,我将 webpack.config,js 更改为 -

webpack.config,js

const path = require("path");
const webpack = require("webpack");

const config = {
    entry: "./app.js",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "bundle.js"
    }
};

module.exports = config;

和运行以下使用TreeShaking生成包

webpack --optimize-minimize --mode production

完整代码可在 https://github.com/deadcoder0904/webpack-treeshake

查看我对 的其他回答,它完成了所有的 treeshaking