У меня есть 2 таблицы стилей, например, S1.scss и S2.scss. Мне нужно использовать S1.scss для клиента 1 и другой для клиента 2. Как я могу добиться этого с помощью команд npm при создании приложения или, возможно, с запуском npm? У меня есть Webpack 2 для сборки приложения.
я не думаю, что вы можете добиться этого с помощью команды npm. Все ваши стили импортируются в styles.scss, а затем в angular.json у вас есть "styles": [ "src/styles.scss" ],. Решение, я думаю, более сложное, чем запуск команды npm. возможно, вы найдете свой ответ здесь: github.com/angular/angular-cli/issues/4202. Или, может быть, с configuration, как указано в комментарии выше.
@TheParam afaik, вы не можете использовать комментарии в angular.json, поскольку JSON должен быть полностью действительным, а в JSON нет такой вещи, как comment.





Угловой интерфейс командной строки
Внутри файла 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?
Используете ли вы webpack v2 через более старую версию angular cli (если да, то какую версию). Или вы используете webpack v2 напрямую для создания своего углового приложения?
Я использую веб-пакет напрямую для создания приложения вместо использования cli.
Я добавил некоторую информацию о решении, использующем только Webpack. Надеюсь, это поможет вам, удачи!
Возможно, вы можете использовать флаг
configuration: https://angular.io/cli/сборка