Я помню, что видел новый компилятор javascript/ minifier в github, который должен быть даже лучше, чем компилятор закрытия Google. К несчастью, я не могу вспомнить его имя и найти его снова. Может быть, кто-то может мне помочь?:)
Спасибо, Корин
Я помню, что видел новый компилятор javascript/ minifier в github, который должен быть даже лучше, чем компилятор закрытия Google. К несчастью, я не могу вспомнить его имя и найти его снова. Может быть, кто-то может мне помочь?:)
Спасибо, Корин
Возможно UglifyJS? Это minifier, который в настоящее время использует проект jQuery.
Проверьте эти скорости сравнения.
См. статистику 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
AFAIK Closure Compiler Режим ADVANCED - единственная игра в городе, если вы хотите, чтобы глобальное удаление мертвого кода (aka shake) и оптимизация. Именно поэтому его используют такие проекты, как emscripten и ClojureScript, а также переводчик Dart javascript.
Это старый вопрос, но я встретил новую информацию и хотел поделиться ею. Я нашел специализированный 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% ценны в веб-масштабе, но для большинства разработчиков это может не стоить потенциальных проблем.