问题
I upgraded my angular cli
from the 6 version to the 8.1, Angular universal
has changed the simple construction method by @nguniversal/module-map-ngfactory-loader
, I should re-deploy, clear the old configuration.
- run
ng add @nguniversal/express-engine --clientProject [project name]
Error message:
Skipping installation: Package already installed
Target name already exists.
run
npm install --save @nguniversal/module-map-ngfactory-loader
build universal, run
build:ssr
("npm run build:client-and-server-bundles && npm run compile:server")
Error message:
I need to remove some files, modify some files and reinstall @nguniversal/express-engine
?
回答1:
To reinstall the angular universal using ng add. You will need to remove all the files was generated by it. Such as
- src/main.server.ts
- src/app/app.server.module.ts
- src/tsconfig.server.json
- webpack.server.config.js
- server.ts
In angular.json, you will need to remove the "server" configuration. Something like :
"server": {
"builder": "@angular-devkit/build-angular:server",
"options": {
"outputPath": "dist/server",
"main": "src/main.server.ts",
"tsConfig": "src/tsconfig.server.json"
},
"configurations": {
"production": {
"fileReplacements": [
{
"replace": "src/environments/environment.ts",
"with": "src/environments/environment.prod.ts"
}
]
}
}
}
After that, you can just do
ng add @nguniversal/express-engine --clientProject [project name]
It should work.
来源:https://stackoverflow.com/questions/58517186/reinstall-angular-universal-after-angular-cli-upgrade