Запуск оптимизации-js после Uglify в Webpack 4

Как с помощью Webpack 4 запустить optimize-js после того, как Webpack запустит Uglify? >

Похоже, что в более ранних версиях Webpack вы использовали бы такой плагин, как optimize-js-plugin. . Я не мог заставить это работать, поскольку Webpack, похоже, применяет плагины перед минимизацией кода, поэтому преобразование optimize-js теряется при минимизации Uglify.

Я попытался установить optimization.minimizer в [] в моей конфигурации Webpack, что отключило встроенную минимизацию, но когда я добавил UglifyjsWebpackPlugin в свои плагины, похоже, это ничего не сделало, и я получил неминифицированные источники.

Мысли?

Мое дополнительное требование заключается в том, что мне нужно сохранять исходные карты во время всех преобразований, чтобы я мог сопоставлять исходные коды после оптимизации и после Uglify обратно в исходные исходные тексты TypeScript (чтобы я мог преобразовать стеки сбоев во что-то значимое).

Мой следующий маршрут — просто написать скрипт, который вызывает optimize-js через Node API, а затем использовать source-map-merger (или аналогичный) для сохранения исходных карт. Недостатком будет то, что такой скрипт будет работать вне Webpack, и мне каким-то образом придется идентифицировать все выходные данные webpack. Довольно прямолинейно, но не идеально.


person AdamTReineke - MSFT    schedule 08.08.2018    source источник


Ответы (1)


Вы пытались определить оба плагина как минимизаторы в том порядке, в котором вы хотите, чтобы они применялись:

optimization.minimizer: [
    new UglifyJsPlugin({...}),
    new OptimizeJsPlugin({...})
]
person sdgluck    schedule 09.08.2018