service-worker - 如何从 VueJS PWA SW 预缓存中排除一个块?
问题描述
目前,我全新安装了带有一些测试页面和组件的 vuejs 应用程序。我的所有路由和组件都使用动态导入来加载 js 块,仅当用户转到特定路由或渲染组件并且它在 SPA 和 SSR 模式下工作正常时。当 PWA 模式在启动时预取所有块时,会出现此问题。
我已经尝试过“排除”功能,但它仍然预取了文件。
有没有办法排除完整的路由,例如 /admin 被预取?因为这仅供内部使用,离线使用不需要。
我们正在使用 webpack + 工作箱捆绑器。
任何帮助将不胜感激。
解决方案
我编辑了您的问题标题以匹配您实际询问的内容。我希望我做对了:)
是的,这是可能的。您可以从要预缓存的资产列表中排除延迟加载的块(“路由”或“页面”或其他)。
我假设您正在使用基于 Vue CLI 的项目。在https://cli.vuejs.org/config/#pwa中查找 PWA 配置选项。它将引导您在此处https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa进行 Vue CLI PWA 插件的完整配置。这将告诉您如何将任何选项传递给底层的 workbox-webpack-plugin。您需要的是excludeChunks
选项,此处描述https://developers.google.com/web/tools/workbox/modules/workbox-webpack-plugin#full_generatesw_config。
推荐阅读
- swift - 为什么几何阅读器不将其孩子居中?
- javascript - 使用基于索引的 replace() 更改 Javascript 中的字符串
- ssl - 禁用 ACMEv1 上的 Letsencrypt 错误帐户创建
- windows - 无法将“gatsby-plugin-netlify-cms”插件安装到 Gatsby 博客
- mysql - 变量以错误的方式切割,但现在确定为什么?
- sql - 是否可以在 Spring 中捕获自定义的 oracle sql 触发器异常并将其传递给 React?
- java - 使用 Rapid API 为 Android 订阅 Kairos
- c# - C# Docusign API MyHR 示例应用程序寻找 eslint
- r - 使用来自不同文件的行信息创建矩阵
- android - 无法解析主机“websitename.net”:没有与主机名关联的地址错误