Использование как Sass (Scss), так и Less в проекте Angular 7+

Создать проект и указать препроцессор CSS очень просто.

ng new my-app --style=scss
          ... --style=sass
          ... --style=less

Установка значения по умолчанию для существующего проекта

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

Но что, если я хочу использовать и Sass, и Less?
Это возможно?

Я хотел бы интегрировать как Ng-zorro, который использует Less, так и Clarity, который использует Sass для настройки.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
8
0
3 161
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Установив расширение CSS по умолчанию, вы просто указываете, что должно быть создано при запуске

ng g component test

Тогда компонент будет иметь файл стилей с настроенным вами расширением.

В любом случае, это не означает, что вы не можете использовать оба.

Просто измените расширение сгенерированного файла на .less и адаптируйте ссылку в компоненте.

styleUrls: ['./test.component.less'],

или даже оставить оба файла:

styleUrls: ['./test.component.less', './test.component.scss'],

Итак, теперь у вас есть один из ваших файлов стилей как less.

В конце концов, вы можете смешать в своем проекте все возможные диалекты CSS.

Спасибо! Таким образом, в Angular уже есть все, что нужно как для Sass, так и для Less. Я бы добавил к вашему ответу, что может потребоваться запуск npm rebuild node-sass из-за «отсутствующих привязок»

LppEdd 06.03.2019 17:23

@LppEdd это может быть. Однако также может случиться так, что последний бинарный файл sass был изменен с тех пор, как вы установили @angular/cli. Обычно это другая проблема, возможно, вы не сталкивались с проблемой, потому что вы не использовали sass, и проблема даже не могла появиться

smnbbrv 06.03.2019 17:26

Вы правы, я проверил ваше предложение в свежем проекте, созданном без установки препроцессора.

LppEdd 06.03.2019 17:28

Возможно, небольшое дополнение: это также работает глобально.

угловой.json:

  "architect": {
    "build": {
     ..
      "options": {
       ..
        "styles": [
          "src/styles.less",
          "src/styles.scss"
        ]

Оба файла будут использоваться независимо от того, какой диалект вы используете.

Другие вопросы по теме