web - 未捕获(承诺中)类型错误:无法在“addAll”上执行“缓存”:渐进式 Web 应用程序上的请求失败
问题描述
我正在学习一个简单的 PWA 教程,但是当我完成它时,我收到以下控制台错误,
Uncaught (in promise) TypeError: Failed to execute 'Cache' on 'addAll': Request failed
这是我的服务人员文件
const staticDevCoffee = "dev-coffee-site-v1"
const assets = [
"/",
"/test.html",
"/csstest/style.css",
"/jstest/app.js",
"/coffee.png",
]
self.addEventListener("install", installEvent => {
installEvent.waitUntil(
caches.open(staticDevCoffee).then(cache => {
cache.addAll(assets)
})
)
})
当我运行灯塔测试时,我得到了这个,
start_url does not respond with a 200 when offlineThe start_url did respond, but not via a service worker.
这是我第一次看 PWA,所以我有点卡住了。我已经尝试了几种我在 SO 上找到的解决方案,但都没有奏效。
解决方案
对于第一个例外:-
未捕获(承诺中)类型错误:无法在“addAll”上执行“缓存”:请求失败
当您在缓存列表中提到的任何文件返回 404 响应时,您会收到此异常。因此,请确保所有资源都提供 200。
对于第二个错误:-
离线时 start_url 不响应 200 start_url 确实响应。
在您的情况下,由于文件没有被缓存(由于第一个异常),您会收到此错误,并确保在缓存列表中缓存根索引文件。
推荐阅读
- laravel - laravel 中的未来日期检查
- python - 在主 NameError 中:未定义名称“”
- eclipse - 如何在 Eclipse 中创建一个新的 ABAP 项目?
- sql - SQL 查询没有返回我所期望的
- python - 为什么它不应该返回这个命令?“numpy.ufunc”对象不可下标
- scheme - 在 Scheme 中 foldr 和 apply 有什么区别?
- python - 尝试检查另一个熊猫列中是否存在值时出现长度错误
- python - Pandas Dataframe - 对于每一行,返回具有重叠日期的其他行的计数
- swift - 将屏幕坐标转换为 Metal 的标准化设备坐标
- mysql - 为sql更新中的所有列值连接一个字符串