Объединение и сжатие нескольких файлов JavaScript в один файл в проекте Django - PullRequest
5 голосов
/ 15 декабря 2011

Какой самый простой способ объединить файлы JavaScript в один файл в проекте Django?

Объяснение

Я хочу, чтобы это работало с Ember.js / Backbone, где у вас (обычно) много разных JavaScript в нескольких каталогах.Все каталоги будут находиться в одной папке с именем app /, например, например: app / views / app / models / / app / routers /

Требования

  • Совместная работа с приложением staticfiles
  • По-прежнему разделяться в режиме разработки для упрощения отладки (компилировать только при вызове collectstatic?)
  • Работа с Require.js (думаю, это не должно быть слишком сложно), но, чтобы убедиться, что это здесь)

Дополнительный кредит

Объясните лучший способ объединения Django и Ember / Backbone.

Ответы [ 3 ]

4 голосов
/ 15 декабря 2011

Я счастливый пользователь компрессора django, он объединяет, минимизирует, облегчает отладку, вы можете использовать его со статическими файлами, легко подключить к пользовательскому бэкэнду хранилища (например, S3)

https://github.com/jezdez/django_compressor

1 голос
/ 12 октября 2012

Причина, по которой вы хотите объединить множество файлов в один, заключается в том, чтобы минимизировать задержку при настройке и разборе http-запросов, чем меньше вы делаете, тем лучше. Тем не менее, многие новые браузеры загружают файлы JavaScript параллельно (по-прежнему последовательно). Следствием этого является то, что загрузка одного файла размером 1 МБ может быть медленнее, чем трех файлов размером 350 КБ.

вы можете использовать из CDN.

0 голосов
/ 18 декабря 2011

Как уже упоминалось в предыдущем ответе, django-compressor хорош, но вы часто получаете лучшее время загрузки, когда вместо этого используете специальный загрузчик javascript.Мой совет - проверить Head.js, например (http://headjs.com/) (есть и другие). Часто комбинирование скриптов может быть неэффективным при рассмотрении кеширования с использованием javascript, расположенного в CDN: s и т. Д.

Следует помнить, что Iphone 3/4 просто кеширует 15 / 25KB javascript, поэтому, если у вас есть огромные скрипты и объедините их, вы можете столкнуться с проблемами. http://www.phpied.com/iphone-caching/

...