Как мне сжать мой JavaScript и/или CSS?
Я знаю, что есть способы динамически загружать его на страницу , но если я хочу сжать свой код, чтобы он загружался еще быстрее, как мне это сделать?
9 answers
Минимизировать, похоже, является стандартом. Здесь есть сообщение в блоге с объяснением того, как его использовать.
Я настоятельно рекомендую Компилятор закрытия Google для сжатия кода JavaScript. Я использую его лично, и это также официальный компрессор, используемый проектом jQuery.
Этот проект может сделать довольно много, но основы таковы:
java -jar closure.jar -js javascriptFile.js > javascriptFile.min.js
Я использую проект Джастина Этериджа SquishIt. Это потрясающе! Для asp.net только однако.
- Он использует YUI для сжатия CSS и Javascript.
- Он поддерживает МЕНЬШЕ
- Я считаю, что он поддерживает закрытие Google
- Он до смешного прост в использовании.
Прочитайте вступление к сообщению в блоге squishit.
Вот пример кода, который будет отображать один тег <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.
- Компрессор Yahoo YUI
- Минификатор Microsoft AJAX
- Компилятор закрытия Google (только для JavaScript)
Все они очень мощные - вы можете довольно легко найти их сравнения. Все они являются инструментами командной строки, поэтому их можно легко интегрировать в ваш запуск автоматически при создании или публикации вашего веб-сайта.
Вы также можете найти множество веб-сайтов, которые работают это инструмент для вас, который сэкономит вам время на установку/настройку. Это также помогает, если вы не знакомы с использованием средств командной строки.
Лично я всегда использовал Компрессор YUI.
Добавьте весь ваш javascript в один файл и сожмите его, например, с помощью jsmin(http://www.crockford.com/javascript/jsmin.html). Сделайте это также для вашего CSS, но используйте другой метод сжатия (удаление пробелов). Поскольку это скучная повторяющаяся задача, существуют сценарии, которые сделают это за вас. Я использую Django и использую django-активы для полной автоматизации этого процесса.
Если вы хотите сжать размер ваших файлов Javascript, вы можете использовать упаковщик.
Проверьте это сравнение минификаторов JS и CSS, чтобы выбрать то, что подходит вам лучше всего -
В этом используется алгоритм компрессора YUI: