Импорты scss в angular

Введение

Cтруктура папок проекта

src
    app
        app.component.ts
        hello
            hello.component.html
            hello.component.scss
            hello.component.ts
        ...
    stylings
        _variables.scss

Содержимое _variables.scss

$brand-color: #800000;
...

Импорт переменной в файле hello.component.scss

@import "../../stylings/variables"; // хочется более изящной записи

h1 {
    color: $brand-color;
}

Angular CLI SCSS imports

В проект созданный с помощью Angular CLI, вы можете добавить секцию stylePreprocessorOptions > includePaths с массивом путей, содержащих SCSS файлы в секцию projects > <имя_проекта> > architect > build > options конфигурационного файла angular.json. Эта конфигурация говорит Angular CLI искать файлы стилей по указанным путям перед обработкой каждого файла стиля компонента.

Размещение секции в angular.json файле

    "styles": [
      "src/styles.scss"
    ],
    "stylePreprocessorOptions": {     <==== 
      "includePaths": [
        "src/stylings"
      ]
    },
    "scripts": []

После проделанной манипуляции импорты доступны в более изящной форме:

// hello.component.scss
@import "variables"; // вместо ../../stylings/variables

h1 {
    color: $brand-color;
}

Похожие записи

Angular. Can't set breakpoints in VS Code

Вариант решения проблемы, когда не срабатывают точки остановки при разработке Angular приложений в редакторе VS Code
10 апреля 2018 г. в Angular

TS. Event bus

Создаётся providedIn: 'root' сервис событий. Затем отправляются события на шину, и если какой-либо слушатель подписан на эти события, он получает уведомления.

Angular. Functions & getters в шаблонах

На каждый цикл механизма обнаружения изменений выполняется метод из шаблона. Если этого надо избежать, то следует использовать pure pipe или результат выполнения присвоить свойству компонента

13 сентября 2020 г. в Angular

Angular Let Directive

*ngIf не отображает содержимое в falsy случаях (0, null, undefined) на async pipe, в пакете @rx-angular/template предлагается решение

27 сентября 2020 г. в Angular