小编zo.*_*.ol的帖子

部署时使Google Cloud Function的Firebase缓存无效

我最近通过Cloud Functions和Firebase Hosting实现了SSR。

构建JS捆绑包时,它会收到一个缓存突发后缀(main.1.js)。

在我的函数内部,我有以下代码用于缓存Cloud Function的结果

res.set('Cache-Control', 'public, max-age=300, s-maxage=300');
Run Code Online (Sandbox Code Playgroud)

在部署期间,我先部署托管,然后再部署云功能

firebase deploy --only hosting:production && gcloud functions deploy ssr --runtime nodejs8 --trigger-http --source dist/server
Run Code Online (Sandbox Code Playgroud)

Firebase托管部署替换main.1.jsmain.2.js

由于缓存破裂,文件现在有所不同(main.2.js),但是由于云功能又被缓存了5分钟-访问网站时出现错误(因为main.1.js该功能的缓存版本中已引用该功能不再可用) 。

您将如何解决此问题?我可以有两个活动的部署并一个接一个地激活吗?

caching firebase firebase-hosting server-side-rendering google-cloud-functions

9
推荐指数
1
解决办法
303
查看次数