#angular
#angular
Вопрос:
У меня есть приложение с двумя разными представлениями, каждое представление запускается с отложенной загрузкой его средой.
Например, если я запущу ng serve --configuration=viewA
.
Представления используют общие компоненты в общем модуле.
Мой вопрос, можно ли использовать разные css-файлы для каждой среды?
Ответ №1:
Я думаю, вам нужно создать 2 разных проекта в вашем файле angular.json
projects
app_name
...
app_name-e2e
...
Каждый проект может иметь свои собственные свойства конфигурации, такие как стили, скрипты, aot и т. Д. В вашем случае вам просто нужно указать два разных стиля, остальные все будут одинаковыми, затем просто запустите приложение следующим образом:
ng serve <project_name>
Комментарии:
1. Спасибо за ответ, я думал об этом решении, но для проекта требуется огромный рефакторинг, я попробую это решение, если нет лучшего способа.
Ответ №2:
Эта функция часто задается здесь, возможно, вы сможете найти решение с помощью обходного пути filereplacement, который описан в конце запроса функции 🙂
Комментарии:
1. Для меня это хорошо работает, единственная проблема в том, что мне нужно снова написать весь стиль только для одного или двух свойств, которые я хочу изменить.
2. Хм .. может быть, добавить для каждого стиля файл css, который содержит измененные значения в качестве переменной css и заменить этот файл?
3. Прежде всего, спасибо за помощь, вы имеете в виду импортировать в мой scss-файл variables.scss и заменить его !? Если да, то какое имя файла я пишу в строке импорта?
4. хм, да, вы правы.. имя файла должно быть одинаковым .. вот так: ` «fileReplacements»: [ { «заменить»: «src / styles / template1 /variables.scss»»на»: «src / styles / template2 /variables.scss» } ` не пробовал .. извините, если это всенеправильно :/
5. Это не работает, я не знаю почему, но импорт в file.component.scss все равно перешел к исходному файлу var.scss, хотя я могу создать файл scss, содержащий классы css, которые я хочу переопределить, и поместить его в styleUrl в @component и заменить его на env…