nepster-web
@nepster-web

Как собрать frontend (dev и prod)?

Моя история начинается с того, что есть миллионы различных виджетов, плагинов и расширений для фронтенда, проекты требуют красивые и продуманные интерфейсы: кастомные элементы форм, скроллеры, ползунки и еще много чего. Такого добра валом, и 1000 звезд на гитхабе далеко не показатель крутого плагина, так как там может быть очень много багов с меткой типа "Нужна помощь".

Как-то на одном проекте у меня ушло несколько месяцев только на то, чтобы перебрать более 200 различных плагинов и найти те, которые действительно работают везде, во всех извращениях и легко настраиваются под различные нужды.

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

Я хочу воспользоваться следующими штуковинами:
npm и bower в качестве пакетных менеджеров
grunt для сборки
less
ну и собственно различные плагины и виджеты.

Структура получилась следующая:
bower_components/
build/
node_modules/
src/
bower.json
Gruntfile.js
package.json


src - тут я планирую вести разработку всего своего творения. Тоесть мне нужно правильно настроить Gruntfile.js, чтобы по команде собиралось все это дело. И так уже вышло, что мне нужно 2 версии сборки.

build - а вот сюда уже должен попадать итог всего. Тоесть если в src находится все все все, то в build попадет только то, что нужно для проекта (например 5 определенных плагинов из 10 собранных в 1 файл).

Тоесть в теории хочу прийти к вот такому:
src/ - свалка для разработки, которая демонстрирует все все все .
build/ - содержит widgets.js, widget.css и jquery.js, где widgets.js и widget.css это сборка всех плагинов, которые нас интересуют в нашем новом проекте.

Возникает вопрос:
Все зависимости, которые я указал, попадают в bower_components, теперь мне нужно перетащить в папку src необходимые файлы. А затем как-то используя другие команды собрать только нужные файлы в папку build. Тоесть можно ли как-то в grunt реализовать что то вроде: grunt build dev и grunt build prod ?

Или возможно есть другие способы?
  • Вопрос задан
  • 713 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы