Как исправить Angular CLI, заставляющий sss использовать sass? - PullRequest
0 голосов
/ 06 марта 2019

В своих проектах я обычно хочу использовать синтаксис .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. Как мне это исправить?

1 Ответ

1 голос
/ 06 марта 2019

Я полагаю, что ваши схемы должны использовать styleext вместо style.

"@schematics/angular:component": {
  "styleext": "scss"
}

ng config schematics.@schematics/angular:component.styleext scss собирается установить ваше глобальное значение по умолчанию, которое должно добавить запись в нижней части вашего angular.json file примерно так:

"schematics": {
  "@schematics/angular:component": {
    "styleext": "sass"
  }
}

Однако, если у вас указан defaultProject, любые схемы внутри здесь, вероятно, будут переопределены.Поэтому внутри вашего проекта по умолчанию в файле angular.json обновите это свойство style в схемах до styleext:

"projects": {
  "my-project": {
    ...
    "schematics": {
      "@schematics/angular:component": {
        "styleext": "scss"
    ...


После дополнительных исследований Кажется,например, вы можете изменить свою версию CLI на более старую версию или дождаться обновления, которое уже в пути (исправление объединено вчера).Поддержка Sass Ext была прекращена , отмеченная в этом выпуске , но, похоже, она была добавлена ​​, отмеченная в этом выпуске .

...