Angular2在运行时覆盖css

时间:2017-08-25 06:40:28

标签: css angular angular-material2

我使用Angular Material2 mixins在名为my-theme.scss的文件中构建不同的主题。在编译项目以进行生产时,ng build将生成一个名为styles.xxxxxxxxxxx.bundle.css的样式文件。

如果我想在部署到生产服务器后为特定客户端构建不同的主题,是否有办法覆盖主题而无需重新编译和重新部署应用程序?例如,将css外部化为主题等?

请注意,我不想覆盖特定组件的自定义样式,只覆盖使用Angular Material mixins构建的主题。

2 个答案:

答案 0 :(得分:0)

我在考虑是否使用' hash'来运行构建。删除',您可能会替换'另一个style.css为一个客户端设置一个style.css? 看看here。您可以使用选项运行ng build来删除哈希。 我希望我能帮到你。

答案 1 :(得分:0)

选项是在index.html中添加<link rel="stylesheet" type="text/css" href="/theme.css">。这将优先于styles.xxxxx.bundle.css。但是,您必须在每个环境中的最终构建中提供该文件。您可以为当前的prod构建留空,以避免任何冲突。