服务工作者获取事件未列出根index.html

时间:2019-03-22 08:05:21

标签: google-chrome-devtools service-worker progressive-web-apps

我无法在服务工作者获取事件中列出index.html文档。因此,如果我打开一个新选项卡并转到开发服务器,则会在Service Worker Fetch事件侦听器中看到该文档作为请求URL列出。

self.addEventListener("fetch", e => {
  console.log(e.request.url);
});

这是输出

documentation

好的,一切都按计划进行。但是,当我刷新页面时,看不到根请求或“ /” 用于index.html。

我在做什么。我已经在服务器上添加了中间件,以确保浏览器不会缓存根文件

app.use((req, res, next) => {
  if (req.url === "/") {
    res.header("Cache-Control", "no-cache, no-store, must-revalidate");
    res.header("Pragma", "no-cache");
    res.header("Expires", 0);
  }

  next();
});

所以这是第一次刷新后的输出 enter image description here

我发疯了,因为我不明白发生了什么。有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

由于请求/index.html(或/)作为导航,并且浏览器的DevTools在导航后重置控制台日志消息,因此您可能会遇到问题。

在Chrome的DevTools中,建议您转到“网络”标签,然后在其中选中“保留日志”框:

Chrome's Network panel, with "Preserve log" checked