Есть ли хороший минификатор JavaScript? [закрыто]


132

Какой минификатор JavaScript вы рекомендуете?



Хотя вопрос старый и закрытый, по состоянию на 2019 год - terser ( github.com/terser-js/terser ) - волшебный добрый минификатор. Также есть плагин для Rollup, который отлично подходит для минимизации пакетов на лету.
Леви Робертс

Ответы:


111

UglifyJS2 , используемый проектом jQuery.


17
Вы можете использовать UglifyJS онлайн без необходимости его установки - jscompress.com . +1 за продукт, используемый jQuery
TMS

1
это используется больше, чем закрытие?
FutuToad

@FutuToad: Текущая версия - UglifyJS2 . Я искал сравнение минификаторов и нашел статистику здесь lisperator.net/uglifyjs - похоже, Google Closure медленнее, чем UglifyJS. Однако Closure может минимизировать проекты AngularJS. Так что явного победителя нет. Я предполагаю (после часового исследования), что UglifyJS2 используется больше, чем GC.
Мартин Всетицка

PS: вы можете попробовать Minify JS , основанный на UglifyJS2, и ваши исходные коды не будут отправлены на удаленный сервер. ;)
Мартин Всетицка

Поддерживает ли UglifyJS es6? все инструменты, которые я обнаружил, содержат ошибки, так как я использую много функций es6 в своих файлах.
kinger6621

31

активный

Устаревшее


Google Closure Compiler обычно создает файлы меньшего размера, чем YUI Compressor, особенно если вы используете расширенный режим, который мне кажется неприятно назойливым, но хорошо сработал в одном проекте, в котором я его использовал:

Несколько крупных проектов используют UglifyJS, и я был очень впечатлен им с момента перехода.


2
Простой режим Google CC также имеет меньший размер, чем YUI, и это тоже безопасно
gblazex

10

Если вы используете PHP, вы также можете взглянуть на minify, который может минимизировать и объединять файлы JavaScript. Интеграция довольно проста и может быть выполнена с помощью определенных групп файлов или простой строки запроса. Минифицированные файлы также кэшируются, чтобы уменьшить нагрузку на сервер, и вы можете добавить заголовки с истекшим сроком действия с помощью minify.


10

JavaScript Minifier предоставляет хороший API, который можно использовать программно:

curl -X POST -s --data-urlencode 'input=$(function() { alert("Hello, World!"); });' http://javascript-minifier.com/raw

Или загрузив файл и перенаправив его на новый файл:

curl -X POST -s --data-urlencode 'input@ready.js' http://javascript-minifier.com/raw > ready.min.js

Надеюсь, это поможет.


9

Вы можете использовать / попробовать несколько:


1
Что такое гиперсрубленность? Вот что я получил по теме: ajaxmin.codeplex.com/discussions/260683
Эхтеш Чоудхури

1
@EhteshChoudhury Это означает, что минификатор становится еще более агрессивным. Он удаляет неиспользуемый код и сокращает также имена локальных переменных.
Крис ван дер Маст




Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.