Skip to content

Latest commit

 

History

History
56 lines (49 loc) · 2.54 KB

Angular.md

File metadata and controls

56 lines (49 loc) · 2.54 KB

Виды директив

* **компонент** (является прямым наследником директивы) * **структурные** * ngIf * ngSwitch * ngFor * ng-content * ng-template * ng-container * **атрибутов** * ngClass * ngStyle * hidden

Обработчики ошибок

* **ErrorHandler** - глобальные ошибки приложения * **HttpInterceptor** - Ошибки HttpClient

Инкапсуляция стилей

https://habr.com/ru/post/588969/ * **ViewEncapsulation.Emulated** (по умолчанию) - добавления к селекторам стилей уникального атрибута компонента * **ViewEncapsulation.None** - без инкапсуляции (как глобальные) * **ViewEncapsulation.ShadowDom** - реализует честную инкапсуляцию через ShadowDOM, но в одну и туже область ShadowDOM могут попадать стили и из Emulated

Router

**router-outlet** - шаблон необходимый для динамического отображения компонентов. Основной параметр - name (по умолчанию: primary). Так будет выглядеть адресная строка при использовании именованных url: `http://localhost:4200/(outlet-a:page-red//outlet-b:page-green//outlet-c:page-blue)`

Guards:

  • Resolve
  • canActivate
  • canLoad
  • canDeactivate
  • canActivateChild

NgRx vs NgXs

Webpack

Вебпак — это сборщик модулей. Он анализирует модули приложения, создает граф зависимостей, затем собирает модули в правильном порядке в один или более бандл (bundle), на который может ссылаться файл «index.html».

Основные параметры настройки:

  • точка входа - entry (обычно index.js)
  • точка выхода - output
  • загрузчики - loaders
    • svg-inline-loader
    • css-loader и style-loader
    • babel-loader
    • source-map-loader
    • es-lint-loader
    • file-loader
    • url-loader
  • плагины - plugins
    • HtmlWebpackPlugin - создание index.html
    • EnvironmentPlugin (DefinePlugin) - переменные среды
    • CommonChunkPlugin - общие зависимости в common.js
    • UglifyjsPlugin - сжатие кода