在 Service Worker 中导入 Dexie

Yan*_*etz 3 service-worker dexie

是否可以在 Service Worker 中导入 Dexie? importScripts("https://unpkg.com/dexie@latest/dist/dexie.js");

结果是:脚本资源位于重定向之后,这是不允许的。我必须通过将代码保存到本地文件中将其本地导入到工作人员中,但收到“窗口未定义错误”,尽管 Dexie 代码似乎检查 self 而不是 window...

我错过了什么吗?{ typeof window !== 'undefined' ? window :global;}

Jef*_*ick 6

传入的 URLimportScripts()不能导致 HTTP 重定向。它们必须返回具有正确 JavaScript MIME 类型和ok(2xx) 状态代码的响应。

请求https://unpkg.com/dexie@latest/dist/dexie.js会导致 HTTP 重定向到https://unpkg.com/dexie@2.0.3/dist/dexie.js.

如果您使用最终的重定向 URL,您应该能够导入 Dexie:

importScripts('https://unpkg.com/dexie@2.0.3/dist/dexie.js');
Run Code Online (Sandbox Code Playgroud)