【前-WorkBox系列】官方文档教程说明

【第一章 WorkBox 简介】

1.1 什么是Work Box

workBox由许多node模块和插件库组成的一个库,可以轻松缓存资产并充分利Service Worker的特性用于构建Progressive Web Apps的功能。

1.2 为什么是workBox

workbox集合了许多优秀的实践,降低了开发者们使用service work过程中的难度。

  • 预缓存
  • 运行时缓存
  • 策略
  • 请求路由
  • 后台同步
  • 有帮助的测试
  • 比sw-precache和sw-toolbox具有更大的灵活性和功能集

1.3 基础实例

  • Cache JavaScript and CSS
 workbox.routing.registerRoute(
  /\.(?:js|css)$/,
  workbox.strategies.staleWhileRevalidate(),
); 
  • Cache Images
workbox.routing.registerRoute(
  /\.(?:png|gif|jpg|jpeg|svg)$/,
  workbox.strategies.cacheFirst({
    cacheName: 'images',
    plugins: [
      new workbox.expiration.Plugin({
        maxEntries: 60,
        maxAgeSeconds: 30 * 24 * 60 * 60, // 30 Days
      }),
    ],
  }),
); 

一个完整的实例:官方:使用入門

【第二章 WorkBox I开发指南】

翻译自官网:使用入门

2.1 预缓存文件

2.2 路由请求

2.3 配置workbox

2.4 处理第三方请求

2.5 使用插件

2.6 常用案例

2.7 排除故障并进行调试

2.8 了解存储配额

第三章 【插件和模块】

使用更多模块

在workbox里每个模块都可以帮助开发人员定制service work的特定行为。下面,我们就来简要梳理一下workbox提供的基本模块。
关于模块的更多详尽内容,可以点击下面的文章链接查看详情。

3.1 workbox模块

根据需要管理加载模块并提供帮助方法。
翻译【前-workbox-模块1】workbox
workbox官方英文文档

3.2 workbox.core

通过workbox.core更改日志级别并更改缓存名称。 包含所有Workbox库使用的共享代码。(看名字就知道了,核心嘛)
翻译【前-workbox-模块2】workbox.core
core官方英文文档

3.3 workbox.precaching

轻松预先缓存一组文件并有效管理文件更新。
【前-workbox-模块3】workbox.precaching
precaching官方英文文档

3.4 workbox.routing

将service worker的请求路由到特定的缓存策略或回调函数。
【前-workbox-模块4】workbox.routing
routing官方英文文档

3.5 workbox.strategies

一组运行时缓存策略,用于处理对请求的响应,通常与workbox.routing一起使用。
【前-workbox-模块5】workbox.strategies
strategies官方英文文档

3.6 workbox.expiration

根据缓存中的项目数或缓存请求的期限删除缓存的请求。
【前-workbox-模块6】workbox.expiration
expiration官方英文文档

3.7 workbox.backgroundSync

即使用户离线,也可以使用后台同步可靠地发出网络请求。
【前-workbox-模块7】workbox.backgroundSync
backgroundSync官方英文文档

3.8 workbox.googleAnalytics

了解用户在离线时如何与您的网站进行互动。
【前-workbox-模块8】workbox.googleAnalytics
googleAnalytics官方英文文档

3.9 workbox.cacheableResponse

根据响应的状态代码或标头限制缓存哪些请求。
【前-workbox-模块9】workbox.cacheableResponse
cacheableResponse官方英文文档

3.10 workbox.broadcastUpdate

使用新响应更新缓存时,将消息发送到页面(通过广播通道)。
【前-workbox-模块10】workbox.broadcastUpdate
broadcastUpdate官方英文文档

3.11 workbox.rangeRequest

此模块支持使用一段先前缓存的数据响应。
rangeRequest官方英文文档

3.12 workbox.streams

此模块支持编写来自一系列流媒体源的响应。
streams官方英文文档

3.13 workbox.navigationPreload)

启用导航预加载,以更快地获得导航请求的网络响应。
【前-workbox-模块11】workbox.navigationPreload
navigationPreload官方英文文档

3.14 三个Node模块

这三个node模块其实也就是对应这3中workbox的构建方法


可以看到,这13+3个模块,前13个涵盖了workbox的绝大多数操作,后三个模块,测试从项目构建的角度方便开发者。

目前从文档支持来看,workBox支持了三种构建方式。

(1)workbox CLI
(2)workbox-build
(3)workbox-webpack-plugin

后续内容持续翻译~

你可能感兴趣的:(【前-WorkBox系列】官方文档教程说明)