灯塔:失败:网站未注册服务人员

时间:2018-08-01 12:21:53

标签: javascript service-worker progressive-web-apps

我有服务人员,我注册服务人员的代码:

if('serviceWorker' in navigator) {
  navigator.serviceWorker
    .register('sw.js')
    .then(function() { console.log('Service Worker Registered'); })  
    .catch(function(error) {console.log('Service worker registration failed, error:', error);  });
} 

当我在浏览器中打开应用程序时,它会显示登录浏览器的控制台“已注册Service Worker”

此外,我可以在应用程序选项卡的Chrome的inspect元素中看到服务人员,服务人员部分显示服务人员。 看到错误

enter image description here

问题:-

  1. 当我在灯塔上进行测试并生成报告时,该报告显示:
  2. 不会提示用户安装Web App 失败:网站未注册服务工作者。

我的代码在这里:github

1 个答案:

答案 0 :(得分:0)

我不确定您添加事件监听器的正确方式,您可以尝试遵循本指南:https://developers.google.com/web/ilt/pwa/caching-files-with-service-worker

在安装时提供缓存文件的示例如下:

self.addEventListener('install', function(event) {
  event.waitUntil(
    caches.open(cacheName).then(function(cache) {
      return cache.addAll(
        [
          '/css/bootstrap.css',
          '/css/main.css',
          '/js/bootstrap.min.js',
          '/js/jquery.min.js',
          '/offline.html'
        ]
      );
    })
  );
});

这导致您的软件在安装时中断。