reactjs - cache.addAll 无法缓存文件 exept .html
问题描述
我的 serviceWorker.js 有一个非常令人不安的问题。在安装时,当我尝试缓存文件时,我只能添加我的 .html 文件,所有其他文件都会触发我的 catch 错误。
self.addEventListener('install', function (evt) {
console.log('install ', evt);
caches.open(cacheName)
.then(function (cache) {
cache.addAll([
'index.html',
'expertises',
'websocket',
'results',
'form',
'utils.js'
]).catch(err => console.error(err));
});
});
在此示例中 utils.js 未添加到缓存中,并触发此错误TypeError: Request failed
我正在使用 TS,但这些 js 文件存在于谷歌浏览器的网络选项卡中
编辑:在网络选项卡中,util.js 触发 404
解决方案
解决了。对于任何有同样问题的人。
TypeError: Request failed, 当资源的范围不是好的时候出现。
您可以使用以下命令检查您的 SW 范围:
if (navigator.serviceWorker) {
navigator.serviceWorker.register('../src/serviceWorker.js')
.then(registration => console.log('scope ', registration.scope))
.catch(err => console.error(err));
}
对我来说,我的 SW 范围是,/src
但我的文件在../src
.
推荐阅读
- python - 如何连接 Numpy 的 ndarray 来存储对象?
- javascript - iOS13 getUserMedia 不适用于 chrome 和 edge
- c - 谁能告诉我为什么我得到一个分段错误(cs50替换)
- amazon-web-services - 如何实现 aws chime 实时与会者状态?
- python - C#程序无法识别python脚本中的配置文件
- java - 尝试使用 SpringUtilities 类制作CompactGrid 时,java swing 中的“没有这样的孩子”意味着什么
- regex - 正则表达式中的 `(\S.*\S)` 和 `^\s*(.*)\s*$` 有什么区别?
- c# - Google Console API 的 OAuth 问题
- android-studio - ListView 是 Android Studio 5 中的旧版,我正在尝试做可滚动列表,那么要使用什么?
- python-3.x - 如何在python中对我的规范化数据制作直方图?