я надеялся увидеть не криворукий скрипт =) Как-то задался этой же задачей, и пришел к выводу что самое лучшее решение это JS, но нормальный скрипт так и не получилось найти, находил только 20и колесные велосипеды. В .htaccess это выглядит примерно так:
#Far Future Expires Header
ExpiresActive On
ExpiresDefault "access plus 10 years"
#Rules for Versioned Static Files
RewriteRule ^(scripts|css)/(.+)\.(.+)\.(js|css)$ $1/$2.$4 [L]
Юрий Ярош: Спасибо за вашу правку, но ничего не сработало! Ошибки не выводит, файлы не компилируются. Возможно проблема в том что поток должен конкатенировать все файлы. Но если я подставляю в него .pipe(plugins.concat('global.css')) то компилируется только один файл, как конкатенировать с помощью merge-stream, увы, я не могу понять
Андрей, большое Вам спасибо! На меня каждый день материться бекенд! Знайте, вы сделали жизнь нескольких человек лучше =) Спасибо еще раз за такой подробный овтет!
Спасибо за ссылку на бустрап 4! Я так понимаю вы занимаетесь версткой под Битрикс? Не могли бы вы написать как вы верстаете под битрикс? Вернее в каком виде вы передаете файлы для интеграции в битрикс вашим бекендерам?
Николай Шабалин: Я понимю, поэтому стараюсь максимально чётко отвечать на ваши наводящее вопросы ;) Я использовал импорты для того чтобы не пихать кучу громоздких миксинов в каждый фиал, да и вообще удобно модульно библиотечно. Тут либо все писать фаил, либо импортом, другого способа инициализировать эти хэлперы я на не нашёл. В идеале надо подсовывать его в потоки, но потоков может быть несколько и копировать путь в каждый как то не по фронтендерски
Дело в том что именно так я и делаю. В потоке pages каждый файл компилируется отдельно и для каждой страницы отдельный стиль. Изначально у меня был один фиал в которым были все импорты, но потом при работе я понял что css импорт это зло и от его надо избавиться.
Возможно вы меня не поняли (или я вас). Если говорить проще. Мне нужно избавиться от impоrt'а папки helpers в остальных .scss файлах. Папку helpers мне не нужно никуда компилировать. Нужно сделать так чтобы таск просто считывал миксины, переменные и функции.
Андрей Хохлов: но если я работаю над одним файлом, например главной, то каждый раз он будет пересобирать главный main.css из файлов которые не были изменены, как можно решить эту проблему при использовании данной структуры?
Правильно ли я понял, что если запихнуть в пайп main.scss с одними импортами, то gulp-sass нормально скушает и выплюнет 1 файл с со всеми стилями собранными из папок?