Для того, чтобы понравится гуглу (холивар!1111 урра) мы имеем необходимость сжать все яваскрипты и стили в единый файл.
Свои файлы сжимаются в общем-то без проблем
Приколы наступают с вендорами, а также с дополнительными файлами типа шрифтов разных
Как это выглядит:
/assets
-- /img
-- /stylus
-- /js
-- /fonts
-- /audio
-- /video
-- /ещеКакаяТоПапкаИНафигаОнаЗдесьВообще...
/dev
-- /img
-- /css
-- /js
/public
-- /img
-- /css
-- /js
Соответственно на выходе после
GULP (вах, какой он маладЭц, дай обниму)
в паблике и деве получаются значит файлы. И если допустим связи с картинками в CSS можно прописывать через хитрости вроде
../../logo.jpg
То пути к шрифтам, которые остались в
assets так уже не сработают
Итак, проблемы
1. Чтобы понравится гуглу, в файл
main.min.css / main.min.js
должны попадать вендоры(библиотеки я имею в виду, например jquery, или там webhostinghub-glyphs, или fancybox) в том числе, если даже с помощью гульпа скрипты и стили из них обьединить в один файл вместе с моим кодом, соблюдая порядок, то остальная часть библиотеки остается в assets, и в паблике ее нет.
2. Банально шрифты которые лежат в assets, их что, просто копировать в дев и паблик (пусть даже гульпом)?
3. Пути которые мы железно зашьем в верстку будут то на assets, то на public, то на dev, это вообще не комильфо и не красиво. Опять же захотел поработать с DEV версией, надо полсайта переписывать пути
4. За счет нашего любимого (base href="/") относительные пути для картинок, зашитые в верстке - будут подводным камнем постоянно.
5. Соответственно если подключать либы просто через bower, то мы не решаем проблему "понравится гуглу", поскольку у нас по прежнему происходит подключение двух десятков скриптов на странице через разные директивы script.
6. Опять же в либах (вендорах) написанных не мной могут попадаться относительные пути, и когда код библиотеки окажется в едином файле, относительные пути будут ожидать найти все сопуствующие в главной папке, поскольку библиотека получается имеет родительскую категорию public
Какой лучший способ это организовать? Что здесь куда, а что лучше не трогать вообще?Уверен, что здесь полно очень умных ребят, которые тысячу раз делали подобные штуки, подскажите пожалуйста!