Подтвердить что ты не робот

Лучший компилятор javascript/minifier

Я помню, что видел новый компилятор javascript/ minifier в github, который должен быть даже лучше, чем компилятор закрытия Google. К несчастью, я не могу вспомнить его имя и найти его снова. Может быть, кто-то может мне помочь?:)

Спасибо, Корин

4b9b3361

Ответ 2

См. статистику src: http://axod.blogspot.ca/2010/01/google-closure-compiler-advanced-mode.html

сравните JSMin, Дугласом Крокфордом и Yahoo! YUI

Minifier           | Bytes   |% of original| gz Bytes | gz % original
None               | 428,264 |    100%     |   91,750 |     100%
JSMin              | 249,372 |     58%     |   57,338 |     62%
YUI                | 235,214 |     55%     |   55,990 |     61%
Closure (STANDARD) | 219,446 |     51%     |   53,515 |     58%
Closure (ADVANCED) | 166,774 |     39%     |   47,372 |     52%

Закрытие делает идею Javascript minifier еще одним шагом. Он делает это, выполняя реальную компиляцию для удаления неиспользуемого кода, встраивает переменные и переписывает код, чтобы сделать его как можно меньшим.

Для справки вы можете получить доступ к пользовательскому интерфейсу Google Closure Compiler здесь http://closure-compiler.appspot.com/home

Ответ 3

AFAIK Closure Compiler Режим ADVANCED - единственная игра в городе, если вы хотите, чтобы глобальное удаление мертвого кода (aka shake) и оптимизация. Именно поэтому его используют такие проекты, как emscripten и ClojureScript, а также переводчик Dart javascript.

Ответ 4

Это старый вопрос, но я встретил новую информацию и хотел поделиться ею. Я нашел специализированный minifier на GitHub под названием RegPack, https://github.com/Siorki/RegPack. Я говорю специализированный, потому что он предназначен для оптимизации небольших (1KB-4KB) файлов и работает с компонентами Canvas, WebGL и Audio в JavaScript. Результаты довольно поразительны, но также характерны для JavaScript, которые вы пишете.

Отметив, что я просто запустил Closure Compiler в стандартном режиме против библиотеки, которую я написал, https://github.com/robertdmunn/gadget-ui, чтобы сравнить результат с UglifyJS, который я использую через Grunt. Базовый код составляет 20 Кбайт, Uglifier и Closure Compiler (std mode), оба сделали это 10KB. Для большинства случаев использования я вижу это достаточно хорошо. Улучшенный режим Closure только уменьшил его до 9 КБ. Для краевых случаев - веб-масштаб - на 10% меньше. Однако подумайте, что сжатие gzip уменьшит размер файла на 60-80% по моему опыту, поэтому уменьшение 10% с использованием расширенного режима экономит вас на 2-4% выше стандартного режима, если вы используете gzip. 2-4% ценны в веб-масштабе, но для большинства разработчиков это может не стоить потенциальных проблем.