Service Worker 缓存策略怎么让 React 页面首次加载更快?

UX-朱莉 阅读 6

我在用 Create React App 搭的项目里加了 Service Worker,想优化首屏加载速度。但发现用户第一次访问时还是得等所有 JS 加载完才能看到内容,缓存好像没起作用。我试过在 sw.js 里用 cache-first 策略,但不确定是不是注册时机或缓存逻辑写错了。

这是我在 index.js 里注册 SW 的代码:

if ('serviceWorker' in navigator) {
  window.addEventListener('load', () => {
    navigator.serviceWorker.register('/sw.js')
      .then(reg => console.log('SW registered:', reg))
      .catch(err => console.log('SW failed:', err));
  });
}

是不是应该在 build 之后生成 precache 列表?或者我的缓存策略根本没覆盖到入口 HTML 文件?

我来解答 赞 0 收藏
二维码
手机扫码查看
暂无解答

暂无解答