Я создаю гибридное веб-приложение с Django на задней панели и Backbone на передней панели.
Структура выглядит следующим образом: я генерирую все HTML файлы в шаблонах Django, использую request.is_ajax
, чтобы решить, какие шаблоны возвращать, и использовать Backbone, чтобы потянуть в HTML по мере необходимости (я делаю это, потому что я хочу поддерживать не-JavaScript пользователей).
Во всяком случае, мой вопрос таков. Поскольку мой код JavaScript становится более сложным, я хотел бы иметь возможность делать следующие вещи автоматически:
- Загрузка асинхронного JavaScript
- Конкатенация и удаление файлов CSS
- Конкатенация и минирование файлов JavaScript
- JS-пыление
Я не слишком беспокоюсь об оптимизации изображений или управлении пакетами. Возможно ли это с настройкой, которую у меня есть? В настоящее время это стандартное приложение Django:
/media
/js
main.js <-- Backbone code is in here
/plugins
backbone.js
underscore.js
/css
main.css
results.css
/img
/myapp
admin.py
models.py
views.py
/templates
/myapp
index.html <-- references to all JS and CSS files here
Я не уверен, что я должен использовать Yeoman (или просто grunt) или Brunch, или если есть более простой способ. Независимо от того, что я использую, я не уверен, могу ли просто поместить его в каталог js
, или если расположение шаблонов усложнит ситуацию.
В настоящее время я знаю, как использовать require.js для загрузки JS асинхронно, но я не знаю, как конкатенировать, lint и т.д. - следовательно, ищет инструмент. Может быть, я должен просто написать оболочку script:)