Какой Javascript minifier (cruncher) делает то же самое, что Google использует для своих JS API? - PullRequest
28 голосов
/ 29 января 2009

Я разработчик Google Maps API (javascript). Я заметил, что Google использует миниатюру Javascript, которая имеет следующие функции:

  1. Сокращает переменные, свойства, аргументы, классы, имена функций и методов, запутывая код. (например. function1 -> a, function2 -> b, function3 -> c)
  2. Некоторые переменные, классы, свойства и методы могут быть помечены так, чтобы их нельзя было сократить, поэтому их имя остается таким же, как указано в руководстве по API.
  3. Он перезапускается в каждом подрыве API, как задача сборки, я заметил, что из-за сжатых имен меняется с одной версии на другую.

Я не нашел во всем интернете миниатюру Javascript с этими функциями. Кто-нибудь знает один?

Ответы [ 6 ]

61 голосов
/ 24 ноября 2009

Google теперь открыл миниатюру , которую они используют вместе с некоторыми другими внутренними вкусностями JavaScript.

Это все под названием "Инструменты закрытия" и было объявлено в начале этого месяца.

10 голосов
/ 29 января 2009

Вот известные мне минифинеры: Дин Эдвардс ' упаковщик ; YUI Компрессор ; JSMin ; и Dojo компрессор

В дополнение к этому GWT-компилятор делает немало для создания эффективных файлов JavaScript из файлов Java. Меня не удивит, если это то, что они используют.

3 голосов
/ 07 июля 2009

Существует также порт .NET YUI Compressor , который позволяет: -

  • интегрировать минификацию / объединение файлов в события пост-сборки Visual Studio
  • интегрируется в TFS Build (включая CI)
  • если вы хотите просто использовать dll в вашем собственном коде (например, на минимизации на лету).
3 голосов
/ 29 января 2009

Я считаю, что YUICompressor выполняет # 1, кроме имен функций, и # 2, используя специальный синтаксис, который удаляется во время сжатия.

# 3 - это просто задача сборки, а не функция компрессора.

YUICompressor

2 голосов
/ 07 сентября 2009

То, что вы описываете, - это «обфускатор», а не минификатор, и их легко найти, выполнив поиск «Javascript obfuscator».

Наш SD Thicket ECMAScript Obfuscator одновременно запутывает и минимизирует.

2 голосов
/ 15 апреля 2009

Простой онлайн-javascript minifier, основанный на сейфе в dojo, можно найти по адресу http://netspurt.com

...