Есть ли хороший минификатор 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.