似乎是 Workbox 版本兼容性问题。我在使用 Firefox 时没有遇到任何错误,但似乎仅在我使用 Google Chrome 时发生。我已部署了 Discourse 的旧版本 (3.1.0.beta2) 和最新版本 (3.1.0.beta5),并且在使用 Google Chrome 时,仅在 3.1.0.beta5 版本中出现此错误。
我在 meta.discourse.org 上也看到了相同的错误。
Registrations in: /Users/mac/Library/Application Support/Google/Chrome/Default (0)
Scope: https://meta.discourse.org/
Registration ID: 258 (unregistered)
Navigation preload enabled: false
Navigation preload header length: 4
Unregistered worker:
Installation Status: REDUNDANT
Running Status: RUNNING
Fetch handler existence: UNKNOWN
Fetch handler type: UNKNOWN
Script: https://meta.discourse.org/service-worker.js
Version ID: 279
Renderer process ID: 2118
Renderer thread ID: 2
DevTools agent route ID: 6
Log:
2 个赞
Lilly
(Lillian Louis)
2
您使用的是哪个版本的 Chrome?我在 Windows 桌面版 Chrome 上运行,从未遇到过此错误。请确保您的浏览器已更新到最新版本。
FWIW 我在我的测试站点上也看到了类似的情况 
不过不确定这是什么意思。
(而且我刚刚更新了 Chrome 才再次检查
)
补充一下,我也检查了一个尚未更新到 3.1.0.beta5 的站点,它在那里没有出现。
3 个赞
我在 Mac 上使用 Chrome,已经是最新版本,并且我已尝试清除缓存。错误仍然存在,但有可能这个错误仅在我本地的计算机上发生。
1 个赞
Canapin
(Coin-coin le Canapin)
6
我也用基于 Chromium 的浏览器在 meta 上重现了该问题 
Uncaught TypeError: workbox.cacheableResponse.Plugin is not a constructor
3 个赞
是的!我做了一些研究,似乎用 workbox.cacheableResponse.CacheableResponsePlugin 替换 workbox.cacheableResponse.Plugin 可能是个可行的解决方案。
3 个赞
Canapin
(Coin-coin le Canapin)
10
看来你很懂行(我对那方面一窍不通)。如果你有信心,请随意提交一个拉取请求!
david
(David Taylor)
13
感谢大家的报告——@ShaoJie 关于所需更改的说法完全正确。这是一个 PR:
6 个赞