我有2个样式表,例如S1.scss和S2.scss。我需要将S1.scss用于客户端1,将其他用于客户端2。如何在构建应用程序时使用npm命令实现该功能,或者可能与npm start一起使用?我有 Webpack 2来构建应用程序。
答案 0 :(得分:3)
Angular CLI
在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应用,您应该可以使用NormalModuleReplacementPlugin采取类似的方法。