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

Каков наилучший инструмент сжатия/обфускации JavaScript?

Какой инструмент вы бы рекомендовали для сжатия JavaScript и/или обфускации? Поиск google возвращается с множеством онлайн-инструментов, но я не уверен, как оценить их эффективность/полезность.

Есть ли инструмент, который вы бы рекомендовали для этого?

Спасибо,

4b9b3361

Ответ 1

Closure Complier: http://code.google.com/closure/compiler/

Компрессор YUI: http://developer.yahoo.com/yui/compressor/

Приходите на ум. Вы захотите взять их за спину со своим собственным кодом, так как многие факторы вступают в игру с минимизацией. В основном, посмотрите, какой из них делает самый маленький файл (и убедитесь, что ваш код работает так, как он должен).

Ответ 2

Есть много инструментов, которые преобразуют Javascript во что-то другое. В настоящее время я классифицирую эти инструменты в следующих целях:

  • Minify: уменьшите код, удалив комментарии, переименовав переменные...
  • Сжатие: сжатие с использованием неразрушающего сжатия javascript
  • Оптимизация: ускорить выполнение кода (например: Закрытие)
  • Obfuscate: защитите код

Мой порядок имеет некоторое значение. Потому что, как правило, более высокий уровень включает все функции ниже.

Так хороший Javascript Obfuscator способен минимизировать, сжимать, оптимизировать...

Многие инструменты выполняют некоторые из этих уровней в отдельности. Они могут быть объединены, что делает их более эффективными, но мой опыт показал, что объединение нескольких таких инструментов делает его кошмаром, чтобы попытаться выявить проблему.

Мое предложение для хорошего общего обфускатора Javascript было бы использовать jscrambler.com

Для оптимизации и минимизации закрытие google (зашифрованное aepheus) - отличное решение.

Ответ 3

UglifyJS: https://github.com/mishoo/UglifyJS

Страница содержит сравнение с другим minifiers, если вы немного прокрутите список. Одна из наиболее заметных частей:

UglifyJS является самым быстрым для запуска. На моем ноутбуке UglifyJS занимает 1,35 с DynarchLIB, в то время как YUI занимает 2.7s, а GCL - 6.5s.

Он написан на JavaScript, поэтому нет необходимости в отдельных сеансах работы и т.д. Он отлично играет как с node.js, так и с npm.