Какой Javascript minifier (cruncher) делает то же самое, что Google использует для своих JS API?

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

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

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

6 ответов

Решение

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

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

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

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

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

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

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

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

YUICompressor

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

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

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

Другие вопросы по тегам