Firebase托管:在部署时缓存破坏脚本

use*_*644 3 firebase firebase-hosting

我在firebase上托管了一个Polymer(单页面应用程序)应用程序.当我将新版本部署到firebase时,我希望firebase重新加载javascript源代码而不是使用缓存源代码.是否有可能通过firebase.json这样做?如果是这样,怎么样?或者我是否必须手动将缓存清除URL添加到我的构建输出中?谢谢

TMa*_*Man 10

将Webpack或类似工具添加到构建中可能是最简单的方法,因为目前还没有办法直接使用Firebase获得所需的结果:

如何使Webpack使用缓存后缀?

如果您可以完全删除缓存,只需为不希望缓存的文件设置相关标头firebase.json:

{
  ...
  "headers": [{
      "source": "build.js",
      "headers": [{
        "key": "Cache-Control",
        "value": "max-age=0"
      }]
  }],
  ...
}
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅此处:https://firebase.google.com/docs/hosting/full-config#headers

  • 但这会在每次浏览器重新加载时获取 build.js。我实际上更喜欢它在下一次部署新版本之前只获取一次。 (2认同)
  • 我建议删除 `firebase.json` 部分(或至少将其移到缓存破坏部分下方),因为它根本无法回答问题。OP 明确提到“缓存破坏”。 (2认同)