0

尝试升级我的angular版本(6到9)后,发现旧版本的angularuniversal可以成功打包,但无法正常运行。

老角通用打包命令:</p>

 ng build --prod ; ng run [project name]:server ; npm run webpack:server

在这个命令起作用之前会创建一些文件,但是步骤很复杂,我忘记了。

我试图解决过程中的问题,但新的问题不断出现。

所以打算试试新版的 angular universal,但是好像两个版本的 angular universal 互相冲突。

我在运行第一个命令时遇到问题:

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

错误信息:

Skipping installation: Package already installed
ERROR! server.ts already exists.
The Schematic workflow failed. See above.

我的 package.json:

"dependencies": {
    "@angular-devkit/build-angular": "^0.803.23",
    "@angular/animations": "^9.0.0-rc.10",
    "@angular/cdk": "^7.3.7",
    "@angular/common": "^9.0.0-rc.10",
    "@angular/compiler": "^9.0.0-rc.10",
    "@angular/core": "^9.0.0-rc.10",
    "@angular/forms": "^9.0.0-rc.10",
    "@angular/http": "^6.0.3",
    "@angular/platform-browser": "^9.0.0-rc.10",
    "@angular/platform-browser-dynamic": "^9.0.0-rc.10",
    "@angular/platform-server": "^9.0.0-rc.10",
    "@angular/router": "^9.0.0-rc.10",
    "@nguniversal/express-engine": "^9.0.0-rc.1",
    "@nguniversal/module-map-ngfactory-loader": "^7.1.1",
    "@ngx-meta/core": "^7.0.0",
    "@ngx-share/core": "^7.1.4",
    "@types/gapi": "0.0.39",
    "@types/jquery": "^3.3.31",
    "core-js": "^2.6.10",
    "csspin": "^1.1.4",
    "express": "^4.17.1",
    "intersection-observer": "^0.5.1",
    "ng-lazyload-image": "^5.1.2",
    "ng-recaptcha": "^4.3.0",
    "ngx-cookie-service": "^2.2.0",
    "ngx-facebook": "^2.4.0",
    "ngx-infinite-scroll": "^6.0.1",
    "npm": "^6.12.0",
    "rxjs": "^6.5.4",
    "zone.js": "^0.10.2"
  },
  "devDependencies": {
    "@angular/cli": "~9.0.0-rc.10",
    "@angular/compiler-cli": "^9.0.0-rc.10",
    "@angular/language-service": "^9.0.0-rc.10",
    "@types/google.analytics": "0.0.39",
    "@types/jasmine": "^2.8.3",
    "@types/jasminewd2": "^2.0.8",
    "@types/node": "^8.10.54",
    "codelyzer": "~4.2.1",
    "jasmine-core": "~2.99.1",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~1.7.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^2.0.6",
    "karma-jasmine": "~1.1.1",
    "karma-jasmine-html-reporter": "^0.2.2",
    "node-sass": "^4.13.1",
    "protractor": "~5.3.0",
    "ts-loader": "^5.4.5",
    "ts-node": "^5.0.1",
    "tslint": "~5.9.1",
    "typescript": "^3.6.4",
    "webpack-cli": "^3.3
4

1 回答 1

1

遵循此链接:在 Angular cli 升级后重新安装 Angular Universal

删除以下所有文件

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

删除“服务器”配置。就像是:

"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]
于 2020-09-30T14:48:17.793 回答