在我的项目中,我通常想利用.sass语法。 所以我创建了一个像这样的项目:
ng new myProject --style=sass
但是结果是所有样式表(包括基本样式文件)都具有.scss扩展名。 现在,我当然可以尝试使用cli进行纠正:
ng config schematics.@schematics/angular:component.styleext sass
并直接手动更改angular.json中的内容:
"schematics": {
"@schematics/angular:component": {
"style": "sass"
}
}
但是没有成功。我生成的每个新组件的样式文件都随附 .scss扩展名。 我该如何解决?
答案 0 :(得分:1)
我相信您的原理图需要使用styleext
而不是style
。
"@schematics/angular:component": {
"styleext": "scss"
}
ng config schematics.@schematics/angular:component.styleext scss
将设置您的全局默认值,该默认值应在angular.json
文件的底部添加一个条目,如下所示:
"schematics": {
"@schematics/angular:component": {
"styleext": "sass"
}
}
但是,如果您指定了defaultProject
,则其中的任何原理图都可能会被覆盖。因此,在angular.json文件的默认项目中,将原理图中的style
属性更新为styleext
:
"projects": {
"my-project": {
...
"schematics": {
"@schematics/angular:component": {
"styleext": "scss"
...
经过更多研究 看来您可以将CLI版本更改为较旧的版本,或者等待即将进行的更新(昨天合并的修复程序)。 Sass ext支持已被删除noted in this issue,但似乎已被重新添加noted in this issue。