Skip to content

开始

Workbox 是一个包含许多模块的大型包,可以使 service worker 开发更加便捷,并消除处理底层 service worker API 的需要。

在本文档中,我们只关注Workbox中的 workbox-build模块

警告

从版本 0.16.0vite-plugin-pwa 已更新为使用最新的 workbox 版本7.0.0 ,需要 Node 16 或以上。

提示

从版本 0.20.2 开始,如果在构建 service worker 时出现 maximumFileSizeToCacheInBytes 警告,插件将抛出错误。

workbox-build 模块

这个模块用于构建过程(一个 node 模块);也就是说, Vite Plugin PWA 将使用它来构建你的 service-worker。

我们关注这个模块的两个方法:

在决定使用哪种策略之前,您应该先阅读使用哪种模式

简而言之, generateSW 函数在构建 service worker 时抽象了直接使用 service worker API 的需求。这个方法可以使用插件来配置,而不是编写自己的 service worker 代码( generateSW 将为您生成代码)。

injectManifest 方法将使用您现有的 service worker 并构建/编译它

workbox-buildvite-plugin-pwa的关系如何

strategies 选项分别设置为 generateSWinjectManifest 时,vite-plugin-pwa 在内部使用 Workbox 的 generateSWinjectManifest 方法。

当你在 vite.config.*文件中配置 strategies: 'generateSW' 选项(默认值)时,插件会调用 workboxgenerateSW 方法。传递给 workbox-build方法的选项将是通过插件配置的 workbox 选项提供的。

当你配置 strategies: 'injectManifest' 选项时,插件将首先通过自定义 Vite 构建你的自定义 service worker。对于构建结果,vite-plugin-pwa 将调用 Workbox 的 injectManifest 方法,传递通过插件配置的 injectManifest 选项提供的那些选项。

在MIT许可下发布.