service-worker - 尝试使用工作箱本地文件而不是 CDN 时出错
问题描述
情况如下,我一直在使用workbox来预缓存文件。它在本地工作,但是当我将更改上传到实际网页时。我收到以下错误:
workbox-sw.js:1 拒绝加载脚本https://storage.googleapis.com/workbox-cdn/releases/6.0.2/workbox-routing.prod.js
,因为它违反了以下内容安全策略指令:“default-src 'self' 'unsafe-inline' 'unsafe-eval' data: https://api.paguetodo.com https://static.paguetodo.com
.
请注意,'script-src-elem' 没有明确设置,所以 'default-src' 用作后备
所以我一直在尝试做的是使用本地 Workbox 文件而不是 CDN。当我执行命令时,一切似乎都很好,并且文件被添加到我的项目中,但是当我尝试在我的 service worker 文件中像这样导入它们时:
importScripts('workbox-v6.0.0/workbox-sw.js');
workbox.setConfig({
modulePathPrefix: 'workbox-v6.0.0/'
});
我在浏览器中收到以下错误:
Strategy.js:143 Uncaught (in promise) TypeError: this.q is not a function
at w.v (Strategy.js:143)
解决方案
推荐阅读
- javascript - 在浮动 div 中设置 CKEditor 5(Vue 组件)的高度
- sql - PostgreSQL - 在 JOIN 条件中不允许使用聚合函数
- php - 查询以显示基于最新日期的最新值
- wildfly - 从 Wildfly 20 升级到 23.0.1 后,infinispan 缓存中的超时消息记录和重试风暴
- javascript - 为什么我的 React 组件找不到元素?
- sql - 选择过期日期最近的记录
- c++ - g++ -std=c++17 给出一行一行的错误
- flutter - 我如何在 FutureBuilder 中使用多重未来?
- nexmo - Laravel:函数 Vonage\Client::Vonage\{closure}() 的参数太少,通过了 4 个,预期正好有 5 个
- xaml - 触发点击模板按钮