未触发服务工作者获取事件

时间:2019-08-07 03:53:46

标签: javascript service-worker service-worker-events

我有一个node.js文件夹结构,如下所示。

Application
|
+---client
        |
        +---Views
                |
                +--.handlebars/layout
        +---Public
                |
                +--Js/CSS/Images/etc 
        +---sw.js

在我的app.js(Node.js)文件中

app.use(express.static(path.join(__dirname, '/client/public')));
app.use('/client', express.static(path.join(__dirname, '/client')))

我通常的js和cs提取是从公用文件夹进行的。但是我在注册过程中无法访问服务人员,所以我添加了一个额外的静态类 “ /客户”

在这里我引用服务工作人员来注册服务工作人员

if('serviceWorker' in navigator){
    navigator.serviceWorker.register('/client/forYouSW.js', {scope: '/client/'}).then(() => {
        console.log("Service Worker Initilized")
    }).catch((err) => {
        console.log(err);
    })
}else{
    alert("Cannot Find SW So will work as online service")
}

在sw.js文件中

self.addEventListener("install", function(er) {
      console.log("Here to register Service Worker 1223");
});


self.addEventListener("fetch", function(event) {
    console.log("Fetch ", event);
    event.respondWith(event.request());
});

在页面中,我对Css,js和其他资源有一些请求,但未调用获取请求。即console.log从未执行。这是因为项目结构吗?还是我做错了。

请注意:我知道其他人也曾问过类似的问题,但尝试答案后我仍然没有得到结果

谢谢 感谢您的帮助

0 个答案:

没有答案