首页 > 解决方案 > 尝试使用工作箱本地文件而不是 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)

标签: service-workerworkbox

解决方案


推荐阅读