根 URL www.domain.com 的元标记未更新

Meta tags are not updating for root URL www.domain.com

我正在创建一个部署在 firebase 上的 Angular8 通用应用程序。参考了这个网站 Angular universal with firebase

当我 运行 并在本地使用快速服务器为应用程序提供服务时,所有路由都加载了更新的元标记。当我在 firebase 上部署应用程序时,一切正常,但根路径上的元标记没有更新。它们对所有其他路线都非常有效。当我打开检查元素时,元标记也会更新。我添加了一些配置以不在 firebase.json 上缓存 html 文件,并将 "cache" 值设置为 "No-cache" 在 server.ts 文件中作为

app.get('*', (req, res) => {
  res.set('Cache-Control', 'public, max-age=0, s-maxage=0, no-cache');
  res.render('index', { req });
});

但对我来说没有任何效果。请帮忙。

这是一个与 firebase 云功能相关的问题。云函数不会在根路径 (www.domain.com) 上被调用,因此不会在服务器端更新元标记。 我通过在应用程序的根目录中创建一个文件夹 'test' 并将所有数据从 dist/browser 文件夹复制到 'test' 文件夹并将 index.html 文件重命名为某个东西来解决这个问题否则(例如 index2.html)。还使用以下行更新了 firebase.json 文件:

....
"hosting": {
    "public": "test",
    ....

因此,每当输入 URL 时,firebase 都会搜索 public 文件夹中的 index.html 文件,如果不存在 index.html 文件,它将调用我们的云函数.