reinstall angular universal after angular cli upgrade

99封情书 提交于 2021-01-27 22:48:30

问题


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.

  1. run ng add @nguniversal/express-engine --clientProject [project name]

Error message:

Skipping installation: Package already installed
Target name already exists.
  1. run npm install --save @nguniversal/module-map-ngfactory-loader

  2. 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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!