angular
March 17

Что такое платформа (platform) в Angular

Платформа - это среда запуска приложений Angular.
Платформа инициализируется при старте приложения, в случае разработки обычного SPA приложения может быть инициализирована одним из способов:

1) Если используется подход Standalone компонентов

import { bootstrapApplication } from '@angular/platform-browser';  
import { appConfig } from './app/app.config';  
import { AppComponent } from './app/app.component';  
  
bootstrapApplication(AppComponent, appConfig)  
  .catch((err) => console.error(err));

2) Если используется ngModule

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { AppModule } from './app/app.module'

platformBrowserDynamic()
    .bootstrapModule(AppModule)
    .catch((err) => console.error(err))


Вне зависимости от типа приложений выполняет одну функцию: создание инжекторов, привязок к DOM через ngZone, компиляцию кода и выбирает способ рендеринга.
В зависимости от среды выполнения может быть несколько платформ:

  • @angular/platform-browser Запуск Angular-приложения в браузере
  • @angular/platform-server Запуск Angular-приложения на сервере (SSR)
  • @angular/elements Использование Angular-компонентов как Web Components

Например, если мы хотим сделать приложение на ngModule с поддержкой SSR, то инициализация платформы будет выглядеть так:

import { platformServer } from '@angular/platform-server';
import { AppServerModule } from './app/app.server.module';

platformServer()
  .bootstrapModule(AppServerModule)
  .catch(err => console.error(err));

В случае с standalone приложением ничего менять не придется, используется та же функция bootstrapApplication