Существуют ли библиотеки для упаковки и минимизации нескольких файлов CSS и JS в один файл каждый?

согласно О'Рейли Высокопроизводительные Веб-Сайты (стр. 15-16), настоятельно рекомендуется сделать как можно меньше HTTP-запросов для высокой производительности. Таким образом, есть ли библиотека для объединения нескольких файлов JS в один файл и библиотека для этого для CSS?

для JavaScript у меня есть по крайней мере 4 разные библиотеки, загружаемые прямо сейчас, jQuery 1.6.x, несколько плагинов jQuery и один файл JavaScript приложения для логики приложения. Я тоже имейте 2 CSS-файла, Bootstrap и CSS-файл моего приложения.

есть ли инструменты для облегчения этого? Было бы неплохо иметь инструмент, который я мог бы использовать из Python или из Bash (я на Linux), чтобы "скомпилировать" и минимизировать несколько таблиц стилей CSS.

(Если это возможно как аддон Django, еще лучше [ie manage.py packify static/bootstrap.min.css static/application.css ...])

5 ответов


то, что вы ищете, - это конвейер css и javascript. Его становится стандартом для фреймворков для предоставления такого рода инструментов. Например, Rails 3.1 имеет собственный встроенный конвейер активов.

Он не только объединит ваши css и javascripts в один пакет, но и сжмет их для дальнейшего повышения производительности.

к счастью, django также имеет свой собственный плагин для это

https://github.com/cyberdelia/django-pipeline


конечно, есть такой инструмент! Это называется webassets. И это прекрасно интегрируется с Django тоже.

функции webassets

  • минимизация (сжатие) CSS и JS
  • меньше CSS
  • SASS для CSS
  • компас

etc.


существуют различные методы. Отличный плагин уже упоминался JavierIEH. Но вы можете легко построить его самостоятельно, используя PHP или любой другой серверный язык.

но вы получите еще больше, если загрузите JQuery и его плагины из Google библиотеки API. Он предлагает уменьшенную версию многих библиотек.

преимущество в том, что он не будет использовать ваш сервер. Браузеры только ограниченное количество одновременных подключений к одному серверу, так это позволяет пользователям загружать JQuery и ваш собственный javascript одновременно.

и поскольку многие сайты используют библиотеки от Google, эти файлы могут уже существовать в кэше браузера вашего посетителя, ускоряя загрузку еще больше.


Если вы можете жить с инструментом PHP, проверьте CSS-JS-Booster который упаковывает несколько больше трюков, чем просто minification. Например, встраивание небольших изображений, на которые ссылается ваш CSS, в CSS (data-uri / mhtml) и т. д.


проверьте этот скрипт python. Он не построен на основе рамок и может быть легко интегрирован.

http://github.com/hkasera/minify

Он также уменьшает JS, а также css-файлы. Он хранит подробные файлы журналов, иллюстрирующие ошибку и предупреждения. Надеюсь, это поможет!