Javascript 预编译脚本类型模块是否存在任何问题?
我正在处理一个PWA端项目,因此当我预先设置脚本类型模块时,浏览器无法在脱机模式下获取脚本,但当我使用另一种缓存策略时,即“在网络响应上;如果找到匹配项,则从缓存返回或添加到缓存”在脱机模式下工作正常Javascript 预编译脚本类型模块是否存在任何问题?,javascript,service-worker,progressive-web-apps,Javascript,Service Worker,Progressive Web Apps,我正在处理一个PWA端项目,因此当我预先设置脚本类型模块时,浏览器无法在脱机模式下获取脚本,但当我使用另一种缓存策略时,即“在网络响应上;如果找到匹配项,则从缓存返回或添加到缓存”在脱机模式下工作正常 self.addEventListener('fetch', e => { e.respondWith( caches.open(cacheVersion) .then(cache => cache.match(e.request)
self.addEventListener('fetch', e => {
e.respondWith(
caches.open(cacheVersion)
.then(cache => cache.match(e.request)
.then(res => res || fetch(e.request)
.then(res => {
cache.put(e.request, res.clone());
return res;
}).catch(err => {
console.log('Fetch failed');
})
)
)
);
});
当我使用以下获取策略时,浏览器无法获取脚本
e.respondWith(
fetch(e.request)
.catch(() => caches.match(e.request))
);
以下是我在使用此策略时如何预先准备资产
cache.addAll([
'/',
'/style.css',
'/src/app.js',
'/src/router/index.js',
'/src/router/Route.js',
'/src/router/Router.js',
'/src/views/home.js',
'/src/views/offline.js',
'/src/views/post.js'
]);
这些都是javascript模块文件,其中app.js是主条目文件
如果您需要查看完整的源代码,可以在下面的链接中找到
您可能会发现这很有帮助:您可能会发现这很有帮助: