Как скопировать изображения в одну папку ./build/img и поправить url к ним в css?
Как при сборке HTML шаблона быть с изображениями плагинов которые подключаются как зависимости из папок node_modules или bower_modules? С CSS понятно - скопировали, объединили, сжали и.т.д. И изображениями которые мы сами добавили и храним в папке типа ./src/img/*.jpg тоже все просто, нужно только сохранить относительные пути к CSS и картинкам.
Но когда мы подключаем плагины они могут иметь свои относительные пути к картинкам - например папка может назваться не img а image, или картинки могут лежать в одной папке с CSS.
Решение этой проблемы я вижу следующее: нужно при конкатенации CSS читать пути к картинкам править их на те что у нас в проекте (например было ./image/pic.jpg стало ./img/pic.css), далее копировать картинки по новому пути в нашу build папку.
Может кто знает плагин которое такое умеет?
Еще было бы здорово если бы этот плагин добавлял к именам картинок их хэш, как как названия картинок в плагине могут совпадать с названиями картинок проекта, ну и соответственно учитывал это при правки путей в CSS.
Надеюсь понятно описал суть своей проблемы.
а не легче верстать нормально и изначально иметь только 2 папки с картинками. одну папку для подключения в html в тег < img > к примеру, и вторую папку для css background стилей. и плагины сразу переделывать под себя и менять их дефолтные папки картинок на свои?
Согласен со всем кроме последнего: переделывать плагины под себя можно но ОЧЕНЬ плохо:
во первых если в проекте много плагинов он становится нереально жирным
во вторых мы не можем гибко обновлять/менять версию плагина
Дмитрий Карякин: в нормальных плагинах (если они юзают свои картинки) всегда предусмотрена переменная отвечающая за src для этих картинок. значит либо используйте нормальные плагины, либо все же меняйте под себя.
MaxKorz: в общем как вариант могу посоветовать использовать sass и url для картинок указывать через миксин и задавать путь в переменной. тогда в gulp придется просто менять значение одной переменной.
MaxKorz: я вообще то не сказал менять плагины, а пути в css через sass переменные указывать. тогда не придется менять url во всем css - а только в одном месте.
MaxKorz: автор указал что он кокатинирует все css в один файл, а значит можно спокойно использовать хоть less, хоть sass, хоть stylus и указать пути в переменной и при билде изменить одну переменную вместо всех url в этом css файле