首页 > 解决方案 > 在 Webpack 4 中 Uglify 之后运行 optimize-js

问题描述

使用 Webpack 4,optimize-jsWebpack 运行 Uglify 后如何运行?

似乎在早期版本的 Webpack 中,您会使用像optimize-js-plugin. 我无法让它工作,因为 Webpack 似乎在缩小代码之前应用插件,所以optimize-js当 Uglify 缩小时转换会丢失。

我尝试在我的 Webpack 配置中设置为,它禁用了内置的缩小,但是当我添加optimization.minimizer到我的插件时,它似乎没有做任何事情并且我得到了未缩小的源。[]UglifyjsWebpackPlugin

想法?

我的额外要求是我需要通过所有转换保留源映射,以便我可以从优化后、Uglify 后的源映射回原始 TypeScript 源(这样我就可以将解析崩溃堆栈变成有意义的东西)。

我的下一条路线是编写一个optimize-js通过 Node API 调用的脚本,然后使用source-map-merger(或类似的)来保存源映射。缺点是这样的脚本会在 Webpack 之外运行,我必须以某种方式识别所有的 webpack 输出。相当简单,但并不理想。

标签: webpackwebpack-4webpack-plugin

解决方案


您是否尝试过将这两个插件定义为最小化器,按照您希望它们的应用顺序:

optimization.minimizer: [
    new UglifyJsPlugin({...}),
    new OptimizeJsPlugin({...})
]

推荐阅读