我正在使用workbox-webpack-plugin (5.1.4)来生成一个服务工作者。
在wepback中,我已经使用下一个配置将GenerateSW添加到插件中
{
swDest: 'serviceWorker.js',
clientsClaim: true,
skipWaiting: true,
mode: process.env.NODE_ENV,
sourcemap: false,
cleanupOutdatedCaches: true,
runtimeCaching: [{
urlPattern: /\//,
handler: 'NetworkFirst',
}, {
urlPattern: /\.(?:js|css|html|map)$/,
handler: 'StaleWhileRevalidate',
}, {
urlPattern: /\.(?:png|jpg|jpeg|mp4|svg|ico)$/,
handler: 'CacheOnly',
}, {
urlPattern: /^https:\/\/xx(?:-dev|)\.xx\.xx\/media-service\/(?:page1|page2|page3)(.*)/,
handler: 'NetworkFirst',
}],
}
它工作得很好。
但是当我将maximumFileSizeToCacheInBytes: 20 * 1024 * 1024添加到配置中时,抛出了以下错误:
我遗漏了什么?
发布于 2020-10-14 22:52:05
这听起来像是对maximumFileSizeToCacheInBytes
的更改意味着一个额外的(大的)文件被添加到您的预缓存清单中,然后尝试下载该文件失败。
如果无法下载预缓存清单中列出的任何内容,则service worker安装将失败,并将在下次注册服务worker时重新尝试。
如果你需要调试失败的DevTools,你可能会在Chrome的网络面板中看到一个与失败的下载相对应的条目。但根据您的描述,它很可能是通过maximumFileSizeToCacheInBytes
允许的任何大文件的URL。
下载失败的根本原因可能与Workbox无关,而是由于web服务器对该URL请求的处理存在问题。
https://stackoverflow.com/questions/64338074
复制相似问题