Я новичок в Angular и я из сообщества Ember. Попытка использовать новый Angular-CLI на основе Ember-CLI.
Мне нужно знать, как лучше справиться с SASS в новом проекте Angular. Я попытался использовать ember-cli-sass
репо, чтобы посмотреть, будет ли оно работать, так как ряд основных компонентов Angular-CLI запущен из модулей Ember-CLI.
Это не сработало, но, опять же, я не уверен, что я что-то неправильно настроил.
Кроме того, каков наилучший способ организации стилей в новом проекте Angular? Было бы неплохо иметь файл sass в той же папке, что и компонент.
angular
sass
angular-cli
JDillon522
источник
источник
Ответы:
Другие возможные решения и объяснения:
чтобы создать новый проект с угловым CLI с поддержкой sass, попробуйте это:
Вы также можете использовать
--style=sass
& если вы не знаете разницу, прочитайте эту короткую и простую статью, и если вы все еще не знаете, просто продолжайтеscss
и продолжайте учиться.Если у вас есть проект angular 5, используйте эту команду для обновления конфигурации вашего проекта.
Для последних версий
Для Angular 6 установить новый стиль в существующем проекте с CLI:
Или прямо в angular.json:
источник
ng set defaults.styleExt scss
style
собственность наscss
в.angular-cli.json
ng set defaults.styleExt scss --global
ng config schematics.@schematics/angular:component.styleext scss
Обновление для Angular 6+
Новые проекты
При создании нового проекта с Angular CLI укажите препроцессор css как
Использовать синтаксис SCSS
Использовать синтаксис SASS
Обновление существующего проекта
Установить стиль по умолчанию для существующего проекта , запустив
Использовать синтаксис SCSS
Использовать синтаксис SASS
Приведенная выше команда обновит ваш файл рабочей области (angular.json) с
где
styleext
может бытьscss
илиsass
по выбору.Оригинальный ответ (для угловых <6)
Новые проекты
Для новых проектов мы можем установить параметры
--style=sass
или в--style=scss
соответствии с желаемым вкусом SASS / SCSSИспользовать синтаксис SASS
Использовать синтаксис SCSS
затем установите
node-sass
,Обновление существующих проектов
Чтобы
angular-cli
скомпилировать sass-файлыnode-sass
, мне пришлось запуститькоторый устанавливает
node-sass
. затемдля синтаксиса SASS
для синтаксиса SCSS
установить styleExt по умолчанию для sass
(или)
изменить
styleExt
кsass
илиscss
для требуемого синтаксиса в.angular-cli.json
,для синтаксиса SASS
для синтаксиса SCSS
Хотя это сгенерировало ошибки компилятора.
который был исправлен путем изменения линий
.angular-cli.json
,либо,
для синтаксиса SASS
для синтаксиса SCSS
источник
angular-cli.json
это то, что на самом деле.angular-cli.json
. Как только я понял это, я отредактировал это, и это работает отлично. Спасибо.angular-cli.json
был изменен как скрытый файл (.angular-cli.json
) (rc2). Исправлена..css
файл, вам может потребоваться закрыть и снова открыть его в редакторе, чтобы он правильно распознал синтаксис sass. Это верно даже в последнейЦитируется из официальных репозиториев Github здесь -
Посмотреть здесь
источник
Скажите angular-cli всегда использовать scss по умолчанию
Чтобы избежать передачи
--style scss
каждый раз при создании проекта, вы можете настроить глобальную настройку конфигурации по умолчанию angular-cli с помощью следующей команды:Обратите внимание, что в некоторых версиях angular-cli есть ошибка с чтением указанного выше глобального флага ( см. Ссылку ). Если ваша версия содержит эту ошибку, создайте свой проект с помощью:
источник
--style=scss
Как сказал Мерткан, лучший способ использовать scss - создать проект с такой опцией:
Angular-cli также добавляет опцию для изменения препроцессора css по умолчанию после создания проекта с помощью команды:
Для получения дополнительной информации вы можете посмотреть здесь их документацию:
https://github.com/angular/angular-cli
источник
ng set
не работает с настройками вapps
массиве. Например.ng set apps.prefix blah
выдает «Неожиданный токен b в JSON в позиции 0».Я заметил очень неприятную ошибку при переходе к файлам scss !!! Нужно перейти от простого:
styleUrls: ['app.component.scss']
кstyleUrls: ['./app.component.scss']
(добавить./
) вapp.component.ts
Что делает нг, когда вы генерируете новый проект, но, по-видимому, не при создании проекта по умолчанию. Если вы видите ошибки разрешения во время сборки ng, проверьте эту проблему. Это заняло у меня всего ~ 1 час.
источник
Лучше всего может быть
ng new myApp --style=scss
Затем Angular CLI создаст для вас любой новый компонент с scss ...
Обратите внимание, что использование
scss
не работает в браузере, как вы, наверное, знаете ... поэтому нам нужно что-то для его компиляцииcss
, поэтому мы можем использоватьnode-sass
его, как показано ниже:и тебе должно быть хорошо идти!
Если вы используете веб-пакет, читайте здесь:
от углового стартера здесь .
источник
ng set --global defaults.styleExt=scss
устарело с ng6. Вы получите это сообщение:Вы должны использовать:
Если вы хотите настроить таргетинг на конкретный проект (замените {project} на имя вашего проекта):
источник
Angular-CLI является рекомендуемым методом и является стандартом в сообществе Angular 2+.
Создайте новый проект с помощью SCSS
ng new My-New-Project --style=sass
Преобразовать существующий проект (CLI меньше v6)
ng set defaults.styleExt scss
(При таком подходе необходимо переименовать все файлы .css вручную, не забудьте переименовать их в файлах компонентов)
Преобразовать существующий проект (CLI больше, чем v6)
"@schematics/angular:component": { "styleext": "sass" }
источник
Для Angular 9.0 и выше обновите
"schematics":{}
объект в файле angular.json следующим образом:источник
style
сейчасСледующее должно работать в угловом проекте CLI 6. Т.е. если вы получаете:
Затем ( убедившись, что вы изменили название проекта )
Чтобы получить имя проекта по умолчанию, используйте:
Однако: если вы перенесли свой проект с <6 на угловой 6, есть хороший шанс, что конфигурация не будет там. В этом случае вы можете получить:
Поэтому
angular.json
потребуется ручное редактирование .Вы хотите, чтобы это выглядело примерно так (принимая во внимание свойство styleex):
Для меня это выглядит слишком сложной схемой. _ (ツ) _ / ¯
Теперь вам нужно будет перейти и изменить все ваши css / less файлы на scss и обновить любые ссылки в компонентах и т. Д., Но вы должны быть готовы.
источник
По состоянию на 10.03.2009 г. Ангуар прекратил поддержку sass. Не имеет значения, какую опцию вы передали
--style
при запускеng new
, вы всегда.scss
генерируете файлы. Обидно, что нахальная поддержка была отброшена без объяснения причин.источник
npm install -g @angular/cli@8.0.0-beta.5
Установите его как глобальный по умолчанию
ng set defaults.styleExt=scss --global
источник
Интеграция препроцессора CSS Angular CLI поддерживает все основные препроцессоры CSS:
Чтобы использовать эти препроцессоры, просто добавьте файл в styleUrls вашего компонента:
При создании нового проекта вы также можете определить, какое расширение вы хотите для файлов стилей:
Или установите стиль по умолчанию для существующего проекта:
примечание: @ schematics / angular - схема по умолчанию для углового интерфейса командной строки
Строки стилей, добавленные в массив @ Component.styles, должны быть написаны на CSS, поскольку CLI не может применять препроцессор к встроенным стилям.
На основе угловой документации https://github.com/angular/angular-cli/wiki/stories-css-preprocessors
источник
Я попытался обновить свой проект, чтобы использовать sass с помощью этой команды
но получил это
Поэтому я удалил свой проект (поскольку я только начинал и у меня не было кода в моем проекте) и создал новый с изначально установленным sass
Но я был бы признателен, если бы кто-нибудь смог поделиться способом обновления существующего проекта, так как это было бы неплохо.
источник
Шаг 1. Установите пакет bulma, используя npm
Шаг 2. Откройте angular.json и обновите следующий код
Вот и все.
Чтобы легко представить инструменты Bulma, добавьте stylePreprocessorOptions в angular.json.
БУЛМА + УГЛОВОЙ 6
источник