相关疑难解决方法(0)

Angular-cli从css到scss

我已经阅读了文档,其中说如果我想使用,scss我必须运行以下命令:

ng set defaults.styleExt scss
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做并生成该文件时,我仍然在我的控制台中收到此错误:

ng set defaults.styleExt scss
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

css sass angular-cli angular angular6

106
推荐指数
12
解决办法
9万
查看次数

角材料-全局颜色变量

他们查看Angular Material文档时,建议使用-theme每个组件一个文件来管理将与主题相关的样式应用于特定类。

在我看来,这种方法的一些缺点是:

  • 很冗长
  • 将样式分为两个不同的位置
  • 您所有的前端开发人员都需要了解Angular Material颜色如何工作
  • 使得更改值变得更加困难(例如,我们可能一直在使用mat-color($primary, 200)边框颜色,现在想将其更改为mat-color($primary, 300)。这将在整个代码库中重复进行。

给定一致的设计语言,将仅使用一部分颜色(例如,主调色板中的4种颜色,重点调色板中的3种颜色,一些不同的前景色/背景色等)。

鉴于以上所述,_colors.scss使用主题定义确切的颜色,而不是希望开发人员每次都从主题中提取正确的值,不是更有意义吗?

例如,也许像这样:

  $clr-primary-default: mat-color($primary);
  $clr-primary-contrast: mat-color($primary, default-contrast);
  $clr-primary-light: mat-color($primary, lighter);
  $clr-primary-dark: mat-color($primary, darker);

  $clr-accent-default: mat-color($accent);
  $clr-accent-light: mat-color($accent, lighter);
  $clr-accent-dark: mat-color($accent, darker);

  $clr-default-text: mat-color($foreground);
  $clr-secondary-text: mat-color($foreground, secondary-text);

  //etc
Run Code Online (Sandbox Code Playgroud)

然后-theme,我无需为需要特定颜色的每个组件创建单独的文件,而是可以简单地导入colors.scss文件并直接在*.component.scss文件中使用变量。

只是想验证上面的内容是否正确,并且我没有错过任何明显的会引起麻烦的东西?

另一个棘手的部分是如何colors有效地在单独的文件中定义它们,因为该文件需要访问主题数据。

css sass angular-material2 angular

6
推荐指数
3
解决办法
7613
查看次数

标签 统计

angular ×2

css ×2

sass ×2

angular-cli ×1

angular-material2 ×1

angular6 ×1