Javascript 如何将网页包哈希名称添加到服务工作者文件?

Javascript 如何将网页包哈希名称添加到服务工作者文件?,javascript,reactjs,webpack,hash,Javascript,Reactjs,Webpack,Hash,我正在为我的应用程序学习服务人员。 这本服务人员食谱()对我很有帮助 我正在配置“缓存、更新和刷新”策略,但不知道如何将网页包哈希名称添加到服务工作者文件中 对此,我知道有几个选择 工作箱() 西南预切() sw precache网页包插件() 但我只想让服务工作者文件没有插件或第三工具,并把网页包chunkhash文件名到我的服务工作者文件 my-sw.js var CACHE='CACHE update and refresh'; self.addEventListener('instal

我正在为我的应用程序学习服务人员。 这本服务人员食谱()对我很有帮助

我正在配置“缓存、更新和刷新”策略,但不知道如何将网页包哈希名称添加到服务工作者文件中

对此,我知道有几个选择

  • 工作箱()
  • 西南预切()
  • sw precache网页包插件()
  • 但我只想让服务工作者文件没有插件或第三工具,并把网页包chunkhash文件名到我的服务工作者文件

    my-sw.js

    var CACHE='CACHE update and refresh';
    self.addEventListener('install',函数(evt){
    log('正在安装服务工作者');
    evt.waitill(caches.open(CACHE).then(函数(CACHE){
    cache.addAll([
    “./controlled.html”,
    “/资产”,
    //这里有个问题,怎么说呢?
    /**
    main.72b835f75acd535f504c.js,
    vendor.d6b44fd0b72071c85ce2.js,
    关于d31139a7f363d5254560.js,
    等
    **/
    ]);
    }));
    });
    self.addEventListener('fetch',函数(evt){
    log('服务人员正在为资产提供服务');
    响应(fromCache(evt.request));
    等待(
    更新(evt.请求)
    。然后(刷新)
    );
    });
    函数fromCache(请求){
    返回缓存。打开(缓存)。然后(函数(缓存){
    返回cache.match(请求);
    });
    }
    功能更新(请求){
    返回缓存。打开(缓存)。然后(函数(缓存){
    返回fetch(请求)。然后返回函数(响应){
    返回cache.put(request,response.clone())。然后返回(function(){
    返回响应;
    });
    });
    });
    }
    //向客户端发送消息。
    函数刷新(响应){
    返回self.clients.matchAll().then(函数(客户端){
    clients.forEach(函数(客户端){
    var消息={
    键入:“刷新”,
    url:response.url,
    eTag:response.headers.get('eTag')
    };
    client.postMessage(JSON.stringify(message));
    });
    });
    
    }
    我们还使用一些Grunt/Gulp/other工具任务在构建过程中创建此列表。我认为不自动化这不是一个好主意,因为您可能也不会手动为您的文件创建哈希或其他版本字符串。