Здравствуйте.
Вот некоторые вопросы
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 вопрос - уже буду очень благодарен.