我正在创建一个部署在firebase上的Angular8通用应用程序。已引用此网站Angular universal with firebase
当我在本地使用express server运行和服务应用程序时,所有的路由都加载了更新的meta标签。当我在firebase上部署应用程序时,一切正常,但是根路径上的meta标签没有更新。它们在所有其他路由上都工作得很好。此外,当我打开inspect-element时,meta标签也在更新。我已经添加了一些不在firebase.json How to prevent caching for the index.html of an SPA上缓存html文件的配置,并且还将server.ts文件中的"cache“值设置为"No-cache”,如下所示
app.get('*', (req, res) => {
res.set('Cache-Control', 'public, max-age=0, s-maxage=0, no-cache');
res.render('index', { req });
});但对我来说什么都不管用。请帮帮忙。
发布于 2019-12-11 14:32:43
这是一个与firebase云函数相关的问题。云函数不会在根路径(www.domain.com)上被调用,因此不会在服务器端更新元标签。我解决这个问题的方法是:在应用程序的根目录下创建文件夹'test‘,将dist/browser文件夹中的所有数据复制到'test’文件夹中,并将index.html文件重命名为其他名称(例如:index2.html)。还使用以下行更新了firebase.json文件:
....
"hosting": {
"public": "test",
....因此,只要输入一个URL,firebase就会搜索公共文件夹中的index.html文件,如果没有index.html文件,它就会调用我们的云函数。
https://stackoverflow.com/questions/59153803
复制相似问题