Создайте веб-приложение с несколькими доменами / клиентами - PullRequest
0 голосов
/ 13 ноября 2018

Мы разрабатываем приложение с несколькими брендами на основе MERN: Mongo, Express, React, NodeJS и веб-пакета.Это наш код для брендинга в веб-пакете:

const BRANDING = process.env.BRANDING || default;

rules.push(  
  {
    test: /\.scss$/,
    loader: ExtractTextPlugin.extract({
      use: [
        'css-loader',
        {
          loader: 'sass-loader',
          options: {
            sourceMap: IS_DEVELOPMENT,
          }
        },
        {
          loader: 'sass-resources-loader',
          options: {
            resources: [
              './common/style/flaticon/_flaticon_fonts.scss',
              './common/style/flaticon/_flaticon_class.scss',
              `./common/branding/${BRANDING}/${BRANDING}_variables.scss`,
              './common/style/bootstrap/_general_variables.scss',
              './node_modules/bootstrap/scss/bootstrap-reboot.scss', // functions, variables, mixins, reboot
              `./common/branding/${BRANDING}/${BRANDING}.scss`,
            ]
          },
        },
      ]
    })
  },
);

Итак, как вы можете видеть, мы строим нашу тематику на основе значения .env.Он работает нормально, но теперь мы хотим пойти дальше и найти возможность легко развернуть приложение из нескольких доменов с одной базой данных, но разными поддоменами.Например: - google.domain.com - БРЕНДИНГ будет google - microsoft.domain.com - БРЕНДИНГ будет Microsoft. Мы хотим сохранить один репозиторий, одну базу данных и, если возможно, только один сервер nodejs server.

Лучшим решением будет разместить все наши основные файлы в корневой папке (domain.com), а весь фирменный контент - в подпапке.

...