@webmaxer
Веб разработчик

Как правильно использовать bower + gulp + sass?

Здравствуйте.

Вот некоторые вопросы
1) Испытываю некоторый диссонанс от использования связки bower + gulp + sass + foundation (или bootstrap - аналогично)
Как собирать проект?
  • Если использовать напрямую из bower_components, то не получиться отключать ненужные компоненты фреймворка, т.к. после bower update мой файл foundation.scss будет просто перезаписан.
  • Если копировать foundation в мою папку с исходниками (она же src/sass), то теряется смысл использования bower. Да, нам не нужно будет заходить на сайт, чтобы скачать нужную версию фреймворка, но и автоматическое обновление, одна из основных фишек bower, теряется - мы же всё вручную копируем.


2) У многих bower плагинов отсутствуют как таковые scss файлы. Приходится опять же вручную всё оттуда копировать/переводить в scss. Кроме того, если подключать плагины, имеющие картинки, то приходится также менять пути или копировать картинки из bower в папку assets. При обновлении процедуру копирования из bower_components в папку исходников проекта приходится повторять, т.е. делать ненужную работу. Проблема.

3) Как таковые проблемы отсутствуют только с js файлами - но см ниже.

Видел, что в случаях 2-3 можно всё автоматизировать - захардкодить пути каждого отдельного плагина в gulp, сделать автоматическую замену путей и подобные костыли. Но при добавлении/удалении каждого плагина в bower работа увеличивается на порядок, так как нужно править и gulpfile. Кроме того, многие разработчики плагинов грешат сменой путей при выходе новой версии, что как бы тоже может доставить неудобства. В общем этот вариант считаю кривым и даже не берусь использовать.

А как в этих трёх случаях корректно всё делать, я не понимаю. Так как bower явно задумывался не для ручного копирования, всё должно быть проще и автоматизированнее, с возможностью быстрого обновления всех плагинов из консоли. Или я слишком идеализирую возможности bower'a?

И последний вопрос, чисто по галпу.
4) Является ли вообще нормальной практикой прописывать вручную пути для какждого отдельного плагина/файла? Я именно это называю хардкодить. На мой взгляд, опять же, таск менеджеры задуманы для автоматической сборки проекта, чтобы добавление/удаление плагинов и файлов в проект не вызывали затруднений и лишней работы в gulpfile. Или опять же я слишком на многое рассчитываю от данного инструмента и постоянно редактировать gulpfile это нормально?

Тема получилась объёмной, т.к. наболело, но если ответите хотябы на 1 вопрос - уже буду очень благодарен.
  • Вопрос задан
  • 2118 просмотров
Решения вопроса 1
@kgorozhanov
Front-End Developer
m.habrahabr.ru/post/250569
Посмотрите эту статью, будет весьма полезно
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@YNile
JS Developer
бовер разве не умер ещё? npm успешно его заменяет.
Ответ написан
iscareal
@iscareal
Front-End Developer
Лично я делаю следующим образом. На примере бутстрап.
Бустрап устанавливается как bower компонент. Оттуда копируется основной style.css файл, откуда все подрубается в мою папку стилей. IntelliJ Idea (и прочие редакторы JetBrains) отличо заменяют сразу все пути. Они должны вести в папку bower_components. Также копирую variables и меняю путь в основном файле. Ну и вот. Как то так)

Для себя я сделал стартовый шаблон и залил в гитхаб. Возможно, будет интересно глянуть: https://github.com/meethemes/MeeStarter
Ответ написан
Ваш ответ на вопрос

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

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