在angular.json中配置serverTarget和servePath。
修改angular.json文件中的“server”选项,使其指向正确的ts文件。假设我们的server.ts文件位于根目录下的“server”文件夹中,那么server选项应指向“server/server.ts”:
...
"server": {
"builder": "@angular-devkit/build-angular:server",
"options": {
"outputPath": "dist/example-server",
"main": "server/server.ts",
"tsConfig": "server/tsconfig.server.json"
}
},
...
然后,还需要在“build”选项中添加“serverTarget”和“servePath”。假设我们的应用程序名称为“example”,且应用程序在根目录的“src”文件夹中,则可以如下修改:
...
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {
"outputPath": "dist/example",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
},
"serverTarget": "example:server",
"servePath": "/"
},
...
这样设置之后,就可以运行“npm run build:ssr”和“npm run serve:ssr”,并且Angular Universal就可以在所有页面中正常工作了。