Как использовать компилятор Google Closure для удаления неиспользуемого кода JavaScript? - PullRequest
7 голосов
/ 08 июля 2010

Как использовать компилятор Google Closure для удаления неиспользуемого кода?

Я использую элемент управления JQuery Slider, но не использую ничего другого в JQuery.Поэтому я прочитал, что компилятор Google Closure в режиме Advanced может удалить неиспользуемый код, , но я не знаю, как .

У меня есть frontpage.html , который ссылается на внешний элемент управления JQuery, JQuery UI и JQuery Slider с этой html-страницы, размещенной на моем сайте.

В моем frontpage.html у меня также есть JavaScript, встроенный в HTML, который инициирует элемент управления JQuery Slider.

Как использовать Я использую онлайн-компилятор закрытия для оценки моих frontpage.html, JQuery, JQuery UI и JQuery Slider для удаления всего неиспользуемого кода JQuery, который я не используют использовать?

Ответы [ 3 ]

5 голосов
/ 21 июля 2010

Существует два способа удалить / исключить неиспользуемый код из вашего комбинированного сценария вывода:

  • Первый включает использование ADVANCED_OPTIMIZATIONS уровня компиляции (подробное объяснение и использование см. В Advanced Compilation and Externs )
  • Второе - разрешить компилятору управлять зависимостями (т. Е. С помощью --manage_closure_dependencies флага компиляции

Из двух вариантов использование флага --manage_closure_dependencies для удаления неиспользуемого кода менее детализировано (т. Е. Исключает код на уровне файла), но позволяет вам оставаться на уровне SIMPLE_OPTIMIZATIONS компиляции. В любом случае вам нужно будет указать URL Сценарии jQuery и jQueryUI и ваш код, который использует ползунок jQuery со своей страницы, что-то вроде этого (1-й вариант):

// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
// @output_file_name default.js
// @code_url http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.js
// @code_url http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.js
// ==/ClosureCompiler==

// ADD YOUR CODE HERE

Надеюсь, это поможет.

2 голосов
/ 08 июля 2010

Сначала как новичок я предлагаю вам попробуйте простую оптимизацию .Потому что он работает без какой-либо конфигурации и дает отличные результаты .Не вводите в заблуждение по имени.Простая оптимизация предлагает лучшую экономию, чем любой другой инструмент сжатия. Продвинутый уровень может быть вашим следующим шагом, но он немного сложнее .

Что касается использования компилятора.Мой совет - упаковать все ваши скрипты в один файл javascript , , загрузить на свой веб-сайт, чтобы он имел URL, передать его онлайн-компилятору.Затем вы нажимаете Add и Compile и все готово.

В правой части вы увидите скомпилированный код.Также будет создан файл с именем default.js, который можно загрузить.

Следующим шагом будет переименовать в соответствии с вашими потребностями, а затем загрузить на сервер, изменитьссылка .js в HTML, и вы почти закончили.Веселись!

0 голосов
/ 26 ноября 2011

Закрытая компилятором ADVANCED_OPTIMIZATION в настоящее время не способна разделить jQuery. jQuery пытается минимизировать себя, используя умное расширение во время выполнения, различные псевдонимы и функции, предназначенные для разных целей, в зависимости от параметров, передаваемых вместе, чтобы сделать jQuery непрозрачным для компилятора. Тем не менее, правильная поддержка ADVANCED_OPTIMIZATION в Closure Compiler высока в списке пожеланий команд jQuery для jQuery 1.8.

...