在构建时更改 Angular Material 主题变量

Change Angular Material theme variable on build

我需要自定义我的 angular 6 应用程序以根据构建更改原色(我必须在开发和生产中将原色更改为另一种颜色)。是否有任何直接的解决方案来更改构建时的颜色?

您可以使用 css custom properties 动态更改 css 值。

设置e。 G。在 AppModule 的构造函数中:

let primaryColor: string;
if (environment.production) {
  primaryColor = 'green';
} else {
  primaryColor = 'red';
}
document.documentElement.style.setProperty('--primary-color', primaryColor);

然后将 css 中的值用于:

color: var(--primary-color)

如需 SASS 解决方案,请查看

请检查此reported issue,看来版本 6.1 将支持文件替换,而不仅仅是 typescript 文件。

如果是,您应该能够根据配置文件替换您的 my-own-theme.scss。 (在 angular.json 内定义)