在Angular 6+(styleExt)中使用scss作为默认样式表

显然,声明默认样式表扩展名的方式已从Angular 6开始更改。中的styleExt属性angular.json不再被识别。

对于新项目,可以--style=scssnew命令的CLI 使用选项进行设置

但是,如果存在我从Angular <5迁移的项目,或者在项目创建过程中忘记这样做,您如何更改此设置?

这个问题与Angular版本5到6的重大更改密切相关。

Near神无2020/03/23 20:04:00

的位置已更改angular.json现在有2种方法可以设置此选项。

通过Angular CLI:

ng config schematics.@schematics/angular:component.styleext scss

直接在angular.json

"schematics": {
    "@schematics/angular:component": {
      "styleext": "scss"
    }
}
2020/03/23 20:04:00

从去cssscss一个现有的项目,请按照下列步骤操作:

angular.json文件中

  1. build部分和test部分取代:

    "styles": ["src/styles.css"], 通过 "styles": ["src/styles.scss"],

  2. 更换:

    "schematics": {}, 通过 "schematics": { "@schematics/angular:component": { "style": "scss" } },

使用ng config schematics.@schematics/angular:component.styleext scss命令有效,但是不能将配置放在同一位置。

在您的项目中,.css文件重命名.scss