2016-07-13 2 views
0

Im в проекте, где мы создадим разные сайты, используя ту же кодовую базу. Я хотел бы иметь стиль и конфигурацию бренда для каждого сайта, который я как-то указываю в своем процессе сборки.Разный брендинг для той же кодовой базы

У кого-нибудь есть идеи, как наилучшим образом достичь этого?

ответ

1

Я бы рассматривал различные сайты во многом так же, как и для разных условий (dev, test, prod). Если изменений не существует, просто используйте переменные среды на каждом сервере, где будет запущен сайт, который определяет, на каком именно сайте он находится. Затем ваш код может условно выполнять действия (например, добавить класс site-x в тело для стилизации).

Вы можете использовать что-то вроде dotenv, чтобы упростить настройку среды vars (помните, что Windows по-разному отличается от * NIX), если вы настраиваете среды в скрипте. Таким образом вы меняете файл, а не фактические переменные среды, когда хотите проверить, как выглядит определенный сайт.

Если есть много различных элементов конфигурации, которые отличаются между сайтами, то вы можете иметь несколько конфигурационных файлов (config-site-one.js, config-site-two.js) и центральный config.js файл, который возвращает правильный конфиг, основываясь на какой-либо переменной окружения, как MY_SITE_NAME.

Однако, если вы действительно хотите упаковать сайт, чтобы «отправить» где-нибудь (?), Тогда вы можете запустить команду сборки с помощью флага типа webpack blahblahblah --site=site-one.

Вы можете использовать yargs, чтобы получить эту переменную 'site' и использовать ее в своем процессе сборки, как вам нравится.

+0

Спасибо, ссылки дали мне некоторые идеи наверняка :) – TWL

Смежные вопросы