根据 webpack 文档,我尝试将 UglifyJSPlugin 添加到 webpack 4 项目中,但我仍然在我的包中看到死代码甚至注释,这让我认为我的 uglify 插件配置没有被使用。
Link to project
docs声明“为了利用摇树,你必须......
- 使用 ES2015 模块语法(即导入和导出)。 done
- 在项目的 package.json 文件中添加“sideEffects”条目。 done .
- 包含一个支持删除死代码的压缩程序(例如 UglifyJSPlugin)。” done
尽管如此,我的捆绑包中仍包含未使用/未导入的 leftpad 功能和注释。
所有配置可见here .
根据我看到的结果,我怀疑这与 uglify settings 相关。在我的 webpack 配置中。
要重现,请拉 repo并运行 yarn build
最佳答案
tree shaking is only enabled in production mode
见 https://github.com/webpack/webpack/issues/6992#issuecomment-379665061
This explanation具有误导性,因为不仅需要 UglifyJsPlugin,还需要一堆插件才能使其正常工作,正如 here 所解释的那样。 .
我还没有尝试启用所有插件以查看它是否有效。我已经尝试过“--optimize-minimize”选项,但它不起作用。
关于webpack - 摇树不起作用 - webpack 4 和 uglifyjs-webpack-plugin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49396735/