#angular #server-side-rendering #prerender
#angular #рендеринг на стороне сервера #предварительный просмотр
Вопрос:
Я пытаюсь выполнить предварительный рендеринг своего приложения angular, используя, ng run [myAppName]:prerender
. Я только хочу предварительно отобразить содержимое /
, поскольку другие маршруты не нуждаются в предварительной визуализации. Хотя он находит способ предварительного просмотра других маршрутов, которые не включены в мою конфигурацию angular.json.
Angular.json
"prerender": {
"builder": "@nguniversal/builders:prerender",
"options": {
"browserTarget": "[myApp]:build:production",
"serverTarget": "[myApp]:server:production",
"routes": [
"/" // <--- One route listed...
]
},
"configurations": {
"production": {}
}
}
С приведенной выше конфигурацией он все равно будет предварительно отображать 16 других маршрутов (например, /my-other-route )
Есть ли способ, которым я могу выполнить предварительный просмотр только /
страницы?
Package Version
-----------------------------------------------------------
@angular-devkit/architect 0.901.10
@angular-devkit/build-angular 0.901.10
@angular-devkit/build-optimizer 0.901.10
@angular-devkit/build-webpack 0.901.10
@angular-devkit/core 9.1.10
@angular-devkit/schematics 9.1.10
@angular/cdk 9.2.4
@angular/cli 9.1.10
@angular/fire 6.0.2
@angular/google-maps 10.0.2
@angular/material 9.2.4
@angular/platform-server 9.1.12
@ngtools/webpack 9.1.10
@nguniversal/builders 9.1.1
@nguniversal/common 9.1.1
@nguniversal/express-engine 9.1.1
@schematics/angular 9.1.10
@schematics/update 0.901.10
rxjs 6.5.5
typescript 3.8.3
webpack 4.42.0
Ответ №1:
Попробуйте обновить до >= Angular 11.1 и добавить "guessRoutes": false
в angular.json.
...
"routes": [
"/"
],
"guessRoutes": false
Комментарии:
1. Это сократило время сборки на 2-3 минуты. Angular потребовалось бы так много времени, чтобы попытаться угадать, а затем сдаться, а затем приступить к выполнению 5 маршрутов, которые я просил выполнить в конфигурации. Это все, что я хотел в первую очередь! 🙂