Caching 在单击时缓存整个PWA
我只是想知道是否有一种方便的方法可以在单击时缓存整个PWA?就像你从应用商店下载并安装本机应用一样 如果我没有错的话,目前唯一的解决方案是必须将所有现有文件添加到一个数组中,并使用cache.addAll方法(如下所示)。如果单击按钮,则可以执行该功能Caching 在单击时缓存整个PWA,caching,service-worker,progressive-web-apps,cacheapi,Caching,Service Worker,Progressive Web Apps,Cacheapi,我只是想知道是否有一种方便的方法可以在单击时缓存整个PWA?就像你从应用商店下载并安装本机应用一样 如果我没有错的话,目前唯一的解决方案是必须将所有现有文件添加到一个数组中,并使用cache.addAll方法(如下所示)。如果单击按钮,则可以执行该功能 function downloadApp() { caches.open(appCache).then(function(cache) { return cache.addAll([ '/', '/files/
function downloadApp() {
caches.open(appCache).then(function(cache) {
return cache.addAll([
'/',
'/files/1',
'/files/2',
// ...
// All PWA files
]);
})
}
您知道更好的方法吗?当
addAll
解析并缓存应用程序时,可能会通过postMessage
通知应用程序?对于较大的应用程序,有一个进度指示器吗?但是有没有比使用addAll
方法更好的方法呢?如果你想在点击时下载整个应用程序,你必须维护一个包含所有文件URL的数组,这不是很方便。我现在还不知道。您始终可以动态地将文件列表传递给软件,以避免在SWAlright中进行静态声明,无论如何,谢谢!我刚刚看到有一种方法可以下载zip文件,在ServiceWorker中解压缩,然后缓存所有单独的文件。看见因此,您可以捆绑您的PWA并通过单个请求使其脱机可用。