Опыт использования Grunt в больших проектах

Кто-то может поделиться опытом использования Grunt в больших проектах?

Проект на .Net с огромным кол-вом уникальных страниц, на каждой подключается по 5-50 js-ов.
Планируется собирать для каждой страницы свой js-файл из всех скриптов, которые используются на ней.
Задача усложняется наличием большого количества зависимостей. Например, нужно подключить какой-то модуль, но для него нужны некоторые библиотеки или jquery-плагины. И отслеживать это в ручную не представляется возможным.

Другой вопрос — как организоваться сборку проекта в девелоперской среде и на продакшене?
В продакшене нужно склеивать и минифицировать все файлы, а в при разработке нужно подключать их все по отдельности. Но хранить всю информацию о том какие скрипты нужны и с какими зависимостями хочется в виде конфигов в json-файлах.

Где можно почитать о best practice? Поиск выдает в основном совсем простые туториалы для новичков.
  • Вопрос задан
  • 4790 просмотров
Пригласить эксперта
Ответы на вопрос 5
EugeneOZ
@EugeneOZ
С зависимостями может помочь Bower.
Есть yeoman.io/, который использует Grunt (и многие его плагины) и Bower.
Ответ написан
Комментировать
Antago
@Antago Автор вопроса
Для dev как раз не нужно
Ответ написан
Комментировать
@nightstalker
Grunt это task runner с большим количеством уже готвых тасков в виде плагинов. По сути то что вы опясали это по сути Ваш кастомный таск, который Вам нужно реализовать на JS. Т.к. grunt позволяет выполнять цепочки тасков то ваш таск можно разбит на несколько мелких тасков. Например:
— найти в темплейте подключенные jsфайлы и составить их список
— склеить
— минифицироовать
— каким либо образом подключить собраный файл в темплейт.
Для части тасков уже существуют плагины, часть вы можете описать в grunt файле.

ps На Вашем месте я бы сначала пересмотрел принципы подключения js у вас на страницах, потому что генерировать кучу разных файлов для разных страниц не оптимально.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
А не проще ли использовать require.js? Решается сразу проблема сборки под дев и прод, ресолвинг зависимостей и вообще управление кодом.
Ответ написан
jsr
@jsr
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы