如何不缓存服务器工作者客户端

How to not cache server worker client

我有一个网页向服务工作者脚本发送消息。为了能够做到这一点,网页需要成为服务器工作者脚本的客户端。 有不同的方法可以做到这一点,但据我所知,所有方法都会导致客户端网页缓存在服务工作者中。

我想知道网页是否可以将消息发送到服务器工作脚本,而不必缓存到服务器工作脚本?

当然——服务工作者根本不需要缓存任何东西,甚至不需要服务工作者实现 fetch 处理程序并拦截网络请求。您可以创建一个服务工作者,它只有一个 message 处理程序,用于侦听来自它控制的页面的传入消息:

// service-worker.js:
self.addEventListener('message', event => {
  // Do something with event.data
});

但是如果您只是使用 service worker 来监听消息,而不是拦截网络请求,我想知道像 SharedWorker or just a plain-vanilla Worker 这样的替代方案是否会更好?