【发布时间】:2019-10-21 21:19:40
【问题描述】:
我在 PWA 中使用 Workbox 和 Google Analytics。我正在使用GA support from workbox,但作为其中的一部分,为analytics.js 文件设置了缓存路由。
该代码位于此处: https://github.com/GoogleChrome/workbox/blob/v4.3.1/packages/workbox-google-analytics/initialize.mjs#L137。它使用 NetworkFirst 策略,它将allow caching opaque responses。
资源 https://www.google-analytics.com/analytics.js 似乎没有 CORS 标头,因此我们得到一个不透明的响应,正如 the workbox doco 所说:
配额使用量意外高的一个常见原因是运行时缓存不透明响应...
这意味着我的应用将使用 7mb 的存储空间,因为我包含了 GA。我不知道缓存 analytics.js 文件(一项功能)是否值得 7mb 的罚款,或者这是否是一个错误。
我已选择退出为我缓存该脚本的工作箱,方法是:
// make sure this it before the initialize() call so it take precedence
workbox.routing.registerRoute(
/^https:\/\/www.google-analytics.com\/analytics.js/,
new workbox.strategies.NetworkOnly({}),
'GET',
)
workbox.googleAnalytics.initialize()
...希望浏览器磁盘缓存能为我提供analytics.js。
我做出了正确的决定吗?我应该在工作箱存储库上创建一个关于此的 GitHub 问题吗?
【问题讨论】:
标签: workbox