Я знаю, что есть способы динамически загрузить его на страницу , но если я хочу сжать свой код, чтобы он загружался еще быстрее, как мне это сделать?
Я знаю, что есть способы динамически загрузить его на страницу , но если я хочу сжать свой код, чтобы он загружался еще быстрее, как мне это сделать?
Ответы:
Я настоятельно рекомендую Google Closure Compiler для сжатия кода JavaScript. Я использую его лично, и это также официальный компрессор, используемый проектом jQuery.
Этот проект может сделать довольно много, но основы таковы:
java -jar closure.jar -js javascriptFile.js > javascriptFile.min.js
Я использую проект SquishIt Джастина Этереджа . Это превосходно! Только для asp.net.
Прочитайте вступление к сообщению в блоге .
Вот пример кода, который будет отображать один <script>
тег и один <link>
тег. Оба из них будут указывать на объединенный и уменьшенный файл JS / CSS.
<%= Bundle.JavaScript()
.Add("~/js/jquery-1.4.2.js")
.Add("~/js/jquery-ui-1.8.1.js")
.Render("~/js/combined_#.js")
%>
<%= Bundle.Css()
.Add("~/css/reset.css")
.Add("~/css/text.css")
.Add("~/css/960.css")
.Render("~/css/combined_#.css")
%>
Есть несколько очень популярных инструментов для сжатия / минимизации вашего JavaScript и CSS.
Все они очень мощные - их легко найти для сравнения. Все они являются инструментами командной строки, поэтому их можно легко интегрировать в ваш прогон автоматически, когда вы создаете или публикуете свой веб-сайт.
Вы также можете найти множество веб-сайтов, которые запускают этот инструмент для вас, что сэкономит вам время на установку / настройку. Это также помогает, если вы не знакомы с использованием инструментов командной строки.
Лично я всегда использовал YUI Compressor .
Добавьте весь свой javascript в один файл и сожмите его, например, с помощью jsmin (http://www.crockford.com/javascript/jsmin.html). Сделайте то же самое для вашего CSS, но используйте другую технику сжатия (удаление пробелов). Поскольку это скучная повторяющаяся задача, есть доступные сценарии, которые сделают именно это для вас. Я использую Django и использую django-assets для полной автоматизации этого процесса.
Проверьте это сравнение JS & CSS minifiers, чтобы выбрать то, что подходит вам лучше всего -
Этот использует алгоритм компрессора YUI:
{1,2,3,}
которые могут полностью уничтожить ваш сайт в «определенном браузере» (да, какой другой браузер может быть настолько глупым?)