AngularNodeAppEngine
Серверный движок приложений Angular. Управляет серверными приложениями Angular (в том числе локализованными), обрабатывает запросы на рендеринг и при необходимости преобразует HTML индексной страницы перед рендерингом.
API
class AngularNodeAppEngine {
constructor(options?: AngularNodeAppEngineOptions | undefined): AngularNodeAppEngine;
handle(request: IncomingMessage | Http2ServerRequest | Request, requestContext?: unknown): Promise<Response | null>;
}
constructor
AngularNodeAppEngineСоздаёт новый экземпляр серверного движка приложений Angular для Node.js.
AngularNodeAppEngineOptions | undefinedПараметры серверного движка приложений Angular для Node.js.
AngularNodeAppEngine
handle
Promise<Response | null>Обрабатывает входящий HTTP-запрос, предоставляя предварительно отрендеренное содержимое, выполняя рендеринг на стороне сервера или отдавая статический файл для маршрутов, отрисовываемых на стороне клиента, в зависимости от настройки RenderMode.
Этот метод преобразует IncomingMessage, Http2ServerRequest или Request Node.js в формат, совместимый с AngularAppEngine, и делегирует ему логику обработки.
IncomingMessage | Http2ServerRequest | Request- Входящий HTTP-запрос (
IncomingMessage,Http2ServerRequestилиRequest).
unknown- Необязательный контекст для рендеринга, например метаданные, связанные с запросом.
Promise<Response | null>Промис, который разрешается в объект результирующего HTTP-ответа или в null, если подходящий маршрут Angular не найден.
Запрос к https://www.example.com/page/index.html предоставит или отрендерит маршрут Angular, соответствующий https://www.example.com/page.
Чтобы предотвратить потенциальную подделку запросов на стороне сервера (SSRF), эта функция проверяет имя хоста request.url по списку разрешённых хостов. Если имя хоста не распознано, возвращается ответ 400 Bad Request.
Решение: разрешите своё имя хоста, настроив allowedHosts в angular.json в: projects.[project-name].architect.build.options.security.allowedHosts. В качестве альтернативы можно указать разрешённое имя хоста с помощью переменной среды process.env['NG_ALLOWED_HOSTS'] или передать его непосредственно через параметры конфигурации AngularNodeAppEngine.
Дополнительные сведения см. в разделе: https://angular.dev/best-practices/security#preventing-server-side-request-forgery-ssrf
Примечания по использованию
Этот класс следует создавать один раз и использовать как singleton во всём серверном приложении, чтобы обеспечить единообразную обработку запросов на рендеринг и управление ресурсами.
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/ssr/node/AngularNodeAppEngine