如何用Angular6和AngularFire2实现SSR

How to implement SSR with Angular 6 and AngularFire2

我正在按照本教程使用 AngularFire2 设置 SSR。但是,本指南似乎 "only compliant with Angular 5" - SSR with angularfire2

我的问题是:当我到达需要设置 angular-cli.json(现在在 Angular 6 中称为 angular.json)结构的步骤时被完全重写。有没有办法像教程建议的那样添加多个构建目标?

我已经尝试为架构师构建部分添加一个数组条目(有点像 "old" 在 angular-cli.json 中添加应用程序数组的方法),但是运气不好 - 我明白了,"object expected here" - 它看起来像这样:

    "build": [{
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "outputPath": "dist/browser",
        "index": "src/index.html",
        "main": "src/main.ts",
        "polyfills": "src/polyfills.ts",
        "tsConfig": "src/tsconfig.app.json",
        "assets": [
          "src/favicon.ico",
          "src/assets"
        ],
        "styles": [
          "src/styles.scss",
          "src/assets/foundation-icons/foundation-icons.css"
        ],
        "scripts": []
      },
      "configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true
        }
      }, ... // new build target here ]

有没有办法用angular的新json结构达到同样的效果 6,这里我只说设置angular.json的配置信息?

如果需要,我可以提供更多信息。

亲切的问候克里斯。

在架构配置下,您可以添加服务器端应用程序的配置,类似于您在.angular-cli.json.

中配置应用程序的方式。
architect: {
...
"server": {
      "builder": "@angular-devkit/build-angular:server",
      "options": {
        "outputPath": "dist-server",
        "main": "src/main.server.ts",
        "tsConfig": "src/tsconfig.server.json"
      }
    }
}

请注意,这 不是 在构建 属性 下。然后将此代码构建到 dist-server,您可以 运行

ng run myProject:server

这是安装新 CLI 后 运行ning ng upgrade 提供的默认配置,但是弄清楚 ng 运行 命令需要大量的反复试验。 :)