Preact PWA,配置 maximumFileSizeToCacheInBytes 来改变这个限制
Posted
技术标签:
【中文标题】Preact PWA,配置 maximumFileSizeToCacheInBytes 来改变这个限制【英文标题】:Preact PWA, configure maximumFileSizeToCacheInBytes to change this limit 【发布时间】:2021-10-18 14:47:22 【问题描述】:我正在使用 Preact Cli 创建 PWA。
编译时出现警告:
/bundle.js 为 2.15 MB,不会被预缓存。配置 maximumFileSizeToCacheInBytes 来改变这个限制。
由于 Preact CLI 在构建时会生成一个 service worker,因此要自定义 service worker, 我创建了一个使用 Preact CLI 高级 API 的自定义“sw.js”。
问题是如何使用这个 API 来改变“maximumFileSizeToCacheInBytes”(如果可能的话)。
【问题讨论】:
【参考方案1】:这绝对是您需要小心不要意外预缓存大型项目的情况,但如果您需要达到限制,您可以使用preact.config.js
文件来执行此操作。所有这一切都是通过 WorkBox 的 InjectManifest
插件完成的,因此编辑 service worker 本身不会做任何事情。
preact.config.js
export default
webpack(config, env, helpers, options)
const manifestPlugin = helpers.getPluginsByName(config, 'InjectManifest')[0];
if (manifestPlugin)
manifestPlugin.plugin.config.maximumFileSizeToCacheInBytes = 5 * 1024 * 1024; // or however much you need. This is 5mb.
【讨论】:
以上是关于Preact PWA,配置 maximumFileSizeToCacheInBytes 来改变这个限制的主要内容,如果未能解决你的问题,请参考以下文章
一份来自Treebo 的 React 与 Preact PWA 性能分析报告
Treebo网站的React与Preact PWA性能分析报告(上)