如何解决脱机时工作箱不工作,一些 .svg 图标导致 net::ERR_INTERNET_DISCONNECTED
图书馆受影响: 工作箱-sw 4.3.1
浏览器和平台: 所有浏览器
问题或功能请求说明: globPatterns 不起作用
module.exports = {
globDirectory: "dist/",globPatterns: [
"**/*.{txt,svg,png,ico,html,js,json,css}"
],globIgnores: [
'3rdpartylicenses.txt','favicon.ico','manifest.json','assets/icons/**','assets/images/**','pdfjsWorker.**.js','favicon-16x16.png','favicon-32x32.png',],swSrc: "sw/sw-default.js",swDest:"sw/sw-injected.js"
};
workBox-build-inject.js:
const {injectManifest} = require('workBox-build');
// We reuse the configuration from WorkBox CLI
var workBoxConfig = require('./workBox-config.js');
// Adding one extra property
workBoxConfig.swSrc = 'sw/sw-default.js';
// Deleting unneeded property
delete workBoxConfig.runtimeCaching;
// Genrate manifest file ang inject them into the precache entry of the sw-default.js file
injectManifest(workBoxConfig)
.then(({count,size}) => {
console.log(`Generated ${workBoxConfig.swDest},which will precache ${count} files,totaling ${size} bytes.`)
});
运行这个命令:
npm run workBox-build-inject
给我:
Generated sw/sw-injected.js,which will precache 46 files,totaling 2464057 bytes.
如果我从 workBox-config.js 中删除 globPatterns 数组并再次运行该命令,它会给我:
Generated sw/sw-injected.js,which will precache 8 files,totaling 2362657 bytes.
globPatterns 数组将 38 个文件添加到缓存中。
但是,如果我将 PWA 应用程序脱机,一些应该缓存的 svg 文件会导致以下错误: 浏览器的控制台输出:
polyfills-es2015.660…617b89c20560bc.js:1 GET https://<domain here>/assets/closeIcon.svg net::ERR_INTERNET_disCONNECTED
我该如何解决这个问题? 在我看来,workBox-config 似乎已正确设置为缓存所有 svg 文件? 为什么这对文件“closeIcon.svg”不起作用? 其他 svg 文件工作正常。
closeIcon.svg 和所有其他 svg 文件都在 sw-injected.js 中的 precaching.precacheAndRoute 数组中
请指教。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。