2016-05-04 158 views
3

有没有办法预先缓存文件夹及其子文件夹中的所有文件?预缓存文件夹和子文件夹内容

我想要完成的任务是这样的:

... 
event.waitUntil(
     caches 
     .open(version + 'fundamentals') 
     .then(function (cache) { 
      return cache.addAll([ 
       "/", 
       "/images/*" 
... 

回答

9

中的JavaScript在服务工作者的上下文中执行不会有你的文件系统的知识。

如果您想要预缓存符合特定通配符模式的所有文件,那么当正在执行的代码可以访问文件系统时,您需要添加一些编译时工具。构建时工具然后可以将输出馈送到服务工作人员的JavaScript文件中,理想情况下通过一些模板系统。

sw-precache工具可以为您自动执行此过程,包括生成服务工作人员的JavaScript并随着您的本地文件系统中的静态资产发生更改而使您的缓存保持最新状态。

如果您选择不使用预打包的解决方案一样sw-precache,请确保您了解服务人员install/activate生命周期事件,并确定您正确版本您的静态资源和缓存。