У меня есть несколько проектов, которые используют RequireJS для загрузки отдельных модулей JavaScript в браузере, но я еще не оптимизировал их. Как в разработке, так и в производстве приложение делает отдельный запрос для каждого файла JavaScript, и теперь я хотел бы исправить это с помощью Grunt.
Я попытался собрать простую структуру проекта безрезультатно, поэтому мне интересно, может ли кто-нибудь предоставить мне рабочий пример. Мои цели заключаются в следующем:
- В режиме разработки все работает в браузере, выдавая отдельный запрос для каждого требуемого модуля. В режиме разработки не требуются задания или конкатенации.
- Когда я буду готов, я могу запустить задачу grunt, чтобы оптимизировать (объединить) все файлы JavaScript с помощью r.js и проверить это локально. Как только я убежден, что оптимизированное приложение работает правильно, я могу его развернуть.
Вот пример структуры для этой беседы:
grunt-requirejs-example/
grunt.js
main.js (application entry point)
index.html (references main.js)
lib/ (stuff that main.js depends on)
a.js
b.js
requirejs/
require.js
text.js
build/ (optimized app goes here)
node_modules/ (necessary grunt tasks live here)
В частности, я ищу структуру проекта рабочая, с которой я могу начать. Мои главные вопросы:
- Если эта структура проекта ошибочна, что вы рекомендуете?
- Что именно должно быть в моем файле
grunt.js
, особенно для работы оптимизатора r.js? - Если все это не стоит, и есть способ использовать задачу grunt
watch
, чтобы автоматически создавать все в режиме разработки каждый раз, когда я сохраняю файл, тогда я все уши. Я хочу избежать всего, что замедляет цикл от внесения изменений, чтобы увидеть его в браузере.