использовать разные .styl в зависимости от переменной среды - PullRequest
0 голосов
/ 10 апреля 2020

Я создаю приложение с белой надписью, которое должно выглядеть и чувствовать себя по-разному в зависимости от бизнес-клиента. Каждый клиент получает свою собственную сборку, которая размещается в другом домене.

Поэтому я хочу изменить файл .styl, который строит Quasar, для соответствия указанным c фирменным цветам. Я не хочу использовать setBrand (), потому что IE11 является требованием.

Я использую QENV , чтобы установить переменную окружения, но открыт для чего-либо.

Я бы нравится делать что-то вроде этого:

css: [
      `${process.env.QENV.client}.styl`
    ]

, где QENV.client - строка, идентифицирующая определенного клиента.

Это не работает, потому что process.env.QENV недоступен в в этот раз. В идеальном мире он должен создавать только необходимые файлы, а не различать guish во время выполнения.

То, что я рассмотрел:

  • NormalModuleReplacementPlugin Я думал, что смогу просто заменить сам файл во время сборки. Я не мог заставить его делать то, что я хочу, и это, вероятно, сломало бы горячую перезагрузку, которая была бы (терпимым) обломом
  • vue -эмоции : Кажется, на самом деле это не Намного пути с Quasar и хорошего блока, который может сделать Emotion, не требуется
  • vue -styled-components : Отличная библиотека, но не слишком хорошо сочетается с Quasar, потому что вы в значительной степени воссоздать, например, кнопки. Я не получил его, чтобы взять существующие квазарские.
  • Игнорирование цветов квазара и предоставление моих собственных тематических цветов через JS: чувствует себя грязным. Это также не помогает, если я хочу включить пользовательские шрифты.
  • , требующий другого css во время выполнения: я хочу избежать ненужных вещей в скомпилированном комплекте

Как можно ли заставить Quasar связывать и использовать нужные CSS файлы?

...