什么是 Workbox?
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
此时,Service Worker 看起来可能很棘手。面对大量复杂的互动,很难做到这一点。网络请求!缓存策略!缓存管理!预缓存!
其中有很多信息需要记住。
这不会使 Service Worker 成为一种设计不合理的技术;它能够按预期运行,并可解决棘手的问题。
好的抽象会使复杂的 API 更易于使用。
这正是 Workbox 的用武之地。
Workbox 是一组可简化常见 Service Worker 路由和缓存的模块。每个可用模块都适用于 Service Worker 开发的一个具体方面。Workbox 旨在尽可能简化 Service Worker 的使用,同时根据需要灵活地满足复杂的应用要求。
在最简单的情况下,workbox-build
提供了几种方法来生成用于预缓存指定资源的 Service Worker。generateSW
方法可以开箱即用地完成大部分工作,而 injectManifest
方法则可在必要时提供更多控制。
对于更高级的用例,其他模块可以提供帮助。其中一些模块包括:
这些模块和其他模块有助于以声明式的方式编写 Service Worker 代码,与直接使用 Service Worker API 相比,更易于读取和维护。本文档将介绍如何运用这些方式。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2021-09-24。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2021-09-24\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2021-09-24。"],[],[]]