webpack - 摇树不起作用 - webpack 4 和 uglifyjs-webpack-plugin

标签 webpack uglifyjs tree-shaking

根据 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/

相关文章:

javascript - 无法解析字体包括使用 webpack

javascript - 使用 Webpack 缩小 jQuery 文件并将引用更新为 HTML?

webpack - 为什么在 Webpack 4 摇树之后,material-ui 模块同时显示在 node_modules 和 src 中?

vuetify.js - Vuetify : Automatic treeshaking in Nuxt. js

angular - 错误 : Please call "TestBed.compileComponents" before your test

javascript - Webpack 需要外部表达式

node.js - Docker Compose Django、Webpack 和构建静态文件

javascript - 支持源映射的替代表示

javascript - 如何忽略文件 grunt uglify

javascript - 使用汇总摇树