使用npm命令更改样式表

时间:2019-01-17 11:42:08

标签: angular npm sass webpack-2

我有2个样式表,例如S1.scss和S2.scss。我需要将S1.scss用于客户端1,将其他用于客户端2。如何在构建应用程序时使用npm命令实现该功能,或者可能与npm start一起使用?我有 Webpack 2来构建应用程序。

1 个答案:

答案 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采取类似的方法。