2017-08-25 82 views
0

我正在使用Angular Material2 mixins在名爲my-theme.scss的文件中構建不同的主題。編譯生產項目時,ng build將生成一個名爲styles.xxxxxxxxxxx.bundle.css的樣式文件。Angular2在運行時覆蓋css

如果我想在部署到生產服務器後爲特定客戶端構建不同的主題,有沒有辦法在不重編譯和重新部署應用程序的情況下覆蓋主題?例如,爲主題等外部化css?

請注意,我不想覆蓋特定組件的自定義樣式,但只是使用Angular Material mixins構建的主題。

+0

查看本頁其中文版可能將有幫助: https://stackoverflow.com/questions/40178041/overriding-the-encapsulated-css-of-external-component –

+0

@SunilBoricha這不是什麼OP是尋找imo 。 – Faisal

回答

0

我在想,如果你運行構建的'哈希'刪除',你也許能夠'替代'一個style.css爲一個客戶端由其他style.css爲另一個? 看一看here。您可以使用選項運行ng build來移除哈希。 我希望我能幫到你。

0

一個選項是在您的index.html中添加一個<link rel="stylesheet" type="text/css" href="/theme.css">。這將優先於styles.xxxxx.bundle.css。但是,您必須在每個環境中的最終版本中提供該文件。你可以保留空白,以避免任何衝突。