Firebase Hosting重写后,在Google Cloud Run上无法显示SSR内容。

问题描述 投票:1回答:1

为了服务器端渲染我的项目,我用Node.js设置了一个docker容器。该容器在Google的容器注册处注册,并连接到Cloud Run的一个服务。当我使用所提供的服务URL时,该网站是SSR,一切看起来都非常好。

为了将项目与firebase连接,我写了这个重定向。

"hosting": {
"public": "dist/browser",
"ignore": [
  "firebase.json",
  "**/.*",
  "**/node_modules/**"
],
"rewrites": [
  {
    "source": "**",
    "run": {
      "serviceId": "nest-server-ssr",
      "region": "europe-west1"
    }
  }
]
},

不幸的是,当我现在看代码的时候,它已经不是呈现在服务端了。

有人遇到过类似的问题吗?

EDIT:

正如Michael提到的,问题出在第二个index.html文件上。你可以看到,这个是服务端。(我加了一个测试注释来确定)

enter image description here

所以解决的办法就是简单的将你的index.html文件从公共目录中删除。谢谢你Michael的帮助

firebase server-side-rendering firebase-hosting angular-universal google-cloud-run
1个回答
1
投票

(猜测发生了什么)

如果你有一个 index.html 在你 dist/browser 文件夹,并访问您网站的根路径 (/),将提供静态HTML,而不是调用Cloud Run服务。

正如您所看到的 在文档中,"精确匹配 "的静态内容比重写的优先级更高。

为了解决这个问题,您只需删除您的 index.html 文件从公共目录。

© www.soinside.com 2019 - 2024. All rights reserved.