Изменить таблицу стилей с помощью команды npm

У меня есть 2 таблицы стилей, например, S1.scss и S2.scss. Мне нужно использовать S1.scss для клиента 1 и другой для клиента 2. Как я могу добиться этого с помощью команд npm при создании приложения или, возможно, с запуском npm? У меня есть Webpack 2 для сборки приложения.

Возможно, вы можете использовать флаг configuration: https://angular.io/cli/сборка

Harun Yilmaz 17.01.2019 12:49

я не думаю, что вы можете добиться этого с помощью команды npm. Все ваши стили импортируются в styles.scss, а затем в angular.json у вас есть "styles": [ "src/styles.scss" ],. Решение, я думаю, более сложное, чем запуск команды npm. возможно, вы найдете свой ответ здесь: github.com/angular/angular-cli/issues/4202. Или, может быть, с configuration, как указано в комментарии выше.

Mihai T 17.01.2019 12:52

@TheParam afaik, вы не можете использовать комментарии в angular.json, поскольку JSON должен быть полностью действительным, а в JSON нет такой вещи, как comment.

Harun Yilmaz 17.01.2019 12:57
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
3
108
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Угловой интерфейс командной строки

Внутри файла angular.json вы можете добавить для этого дополнительную конфигурацию. Эта конфигурация будет выполнять замену файлов для определенных файлов (в вашем случае файлов таблиц стилей).

Вот пример конфигурации, которую можно добавить в узел build/configurations файла angular.json:

                        "productionForClient1": {
                            "fileReplacements": [
                                {
                                    "replace": "src/styles.less",
                                    "with": "src/client1_styles.less"
                                }
                            ]
                        }

Затем из консоли вы сможете создать его со стилями, характерными для клиента, запустив его с файлом конфигурации для этого клиента: ng build -c productionForClient1. Если вы хотите запустить его через npm, добавьте его как задачу в свой файл package.json.


Webpack

Используя Webpack напрямую для создания своего приложения Angular, вы сможете применить аналогичный подход, используя файл Плагин NormalModuleReplacement.

есть идеи о том, как я могу использовать то же решение в webpack V2?

Scorpion_beardo 18.01.2019 08:07

Используете ли вы webpack v2 через более старую версию angular cli (если да, то какую версию). Или вы используете webpack v2 напрямую для создания своего углового приложения?

Jelle 18.01.2019 09:05

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

Scorpion_beardo 18.01.2019 09:25

Я добавил некоторую информацию о решении, использующем только Webpack. Надеюсь, это поможет вам, удачи!

Jelle 18.01.2019 11:02

Другие вопросы по теме