我有一个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从未执行。这是因为项目结构吗?还是我做错了。
请注意:我知道其他人也曾问过类似的问题,但尝试答案后我仍然没有得到结果
谢谢 感谢您的帮助