angular cli 升级后重新安装 angular 通用

reinstall angular universal after angular cli upgrade

我把我的angular cli从6版本升级到8.1,Angular universal改变了@nguniversal/module-map-ngfactory-loader的简单构造方法,我应该重新部署,清除旧配置。

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

错误信息:

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

  2. 构建通用,运行build:ssr("npm run build:client-and-server-bundles && npm run compile:server")

错误信息:

我需要删除一些文件,修改一些文件并重新安装 @nguniversal/express-engine?

使用 ng add 重新安装 angular universal。您将需要删除所有由它生成的文件。比如

  • src/main.server.ts
  • src/app/app.server.module.ts
  • src/tsconfig.server.json
  • webpack.server.config.js
  • server.ts

在 angular.json 中,您需要删除 "server" 配置。 像 :

 "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"
            }
          ]
        }
      }
    }

之后,你可以做

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

应该可以。