Я прочитал документацию , в которой говорится, что если я хочу использовать, scss
мне нужно выполнить следующую команду:
ng set defaults.styleExt scss
Но когда я это делаю и создаю этот файл, я все равно получаю эту ошибку в консоли:
styles.bundle.js:33Uncaught Error: Module build failed: Error: ENOENT: no such file or directory, open '/Users/Egen/Code/angular/src/styles.css'(…)
git diff
увидите, что это изменилось.ng new whatever --style=scss
как показано в документации . Не следуйте инструкциям по настройке существующего проекта, если это не то, что вы делаете!Ответы:
Для Angular 6 проверьте официальную документацию
Примечание. Для
@angular/cli
версий старше, чем6.0.0-beta.6
используетсяng set
вместоng config
.Для существующих проектов
В существующем проекте angular-cli, который был настроен со
css
стилями по умолчанию, вам нужно будет сделать несколько вещей:scss
если вы получили ошибку:
Value cannot be found.
используйте команду:(* источник: параметры Angular CLI SASS )
Переименуйте существующие
.css
файлы в.scss
(например, styles.css и app / app.component.css)Направьте CLI, чтобы найти styles.scss
Для будущих проектов
Как упомянул @Serginho, вы можете установить расширение стиля при запуске
ng new
командыЕсли вы хотите установить значение по умолчанию для всех проектов, которые вы создаете в будущем, выполните следующую команду:
источник
css
наscss
in.angular-cli.json
автоматически создаст файлы scss для каждого нового компонента, сгенерированного в будущем.ng config schematics.@schematics/angular:component.styleext scss
как сказал @ hamilton.limaНачиная с ng6, это можно сделать с помощью следующего кода, добавленного
angular.json
на корневом уровне:Вручную изменить
.angular.json
:источник
schematics
нет корневого уровня, но он вложен в мой проект вangular.json
. Должен ли я игнорировать это и вместо этого добавить это на корневой уровень?schematics
теперь тоже вложен.Откройте файл angular.json
1. изменить с
"schematics": {}
в
"src/styles.css"
в
"src/styles.scss"
затем проверьте и переименуйте все
.css
файлы и обновите файлы styleUrls component.ts из.css to .scss
источник
ng config schematics.@schematics/angular:component.styleext scss
как указано в официальных документах: github.com/angular/angular-cli/wiki/stories-css-preprocessorsДля Angular 6,
примечание: @ schematics / angular - это схема по умолчанию для Angular CLI
источник
Интеграция препроцессора CSS для Angular CLI: 6.0.3
При создании нового проекта вы также можете указать, какое расширение вы хотите для файлов стилей:
Или установите стиль по умолчанию для существующего проекта:
Документация Angular CLI для всех основных препроцессоров CSS
источник
Invalid JSON character: "s" at 0:0.
ng config
(как указано выше) является лучшим методом , но вам все еще нужно переименовать*.css
файлы*.scss
и заменить ссылки наangular.json
наstyle.css
сstyle.scss
и обновить все ссылки на файлы компонентов вstyleUrls
собственности новых имен. ... тогда он отлично работает!Для существующих проектов :
В
angular.json
файлеВ
build
части и вtest
части, заменить:"styles": ["src/styles.css"],
по"styles": ["src/styles.scss"],
Заменить:
"schematics": {},
по"schematics": { "@schematics/angular:component": { "style": "scss" } },
В своем проекте переименуйте
.css
файлы в.scss
Для нового проекта всю работу выполняет эта команда:
Для глобальной конфигурации
В новых версиях нет глобальной команды
источник
Используйте команду:
источник
В ng6 вам нужно использовать эту команду, согласно аналогичному посту :
источник
Для пользователей расширений Nrwl, которые сталкиваются с этой веткой : все команды перехватываются Nx (например,
ng generate component myCompent
), а затем передаются в AngularCLI.Команда для работы SCSS в рабочей области Nx:
ng config schematics.@nrwl/schematics:component.styleext scss
источник
Может быть применено изменение грубой силы. Это можно изменить, но это более длительный процесс.
Перейдите в папку приложения src / app
Откройте этот файл: app.component.ts
Измените этот код
styleUrls: ['./app.component.css']
наstyleUrls: ['./app.component.scss']
Сохранить и закрыть.
В той же папке src / app
Переименуйте расширение для файла app.component.css в (app.component.scss)
Выполните это изменение для всех остальных компонентов. (например, дом, насчет, контакт и т. д.)
Далее следует файл конфигурации angular.json . Он находится в корне проекта.
Найдите и замените CSS, измените его на (scss) .
Сохранить и закрыть.
Наконец, перезапустите свой
ng serve -o
.Если компилятор жалуется на вас, повторите действия еще раз.
Обязательно внимательно следуйте инструкциям в app / src .
источник
В последней версии Angular (v9) код ниже необходимо добавить
angular.json
Может быть добавлено с помощью следующей команды:
источник