在 angular cli 升级后重新安装 angular Universal

Fin*_*inn 3 angular-universal angular

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.
Run Code Online (Sandbox Code Playgroud)
  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

max*_*max 7

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

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

在 angular.json 中,您需要删除“服务器”配置。就像是 :

 "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"
            }
          ]
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

在那之后,你可以做

ng add @nguniversal/express-engine --clientProject [项目名称]

它应该工作。

  • 我尝试了您的方法,但仍然出现错误:“跳过安装:软件包已安装无法读取未定义的属性“种类””。我的“服务器”项目没有“配置”。 (3认同)