DEE*_*EEz 11 firebase angularfire firebase-cloud-messaging angular
我正在尝试从中导入脚本
importScripts("https://www.gstatic.com/firebasejs/9.1.0/firebase-app.js");
importScripts("https://www.gstatic.com/firebasejs/9.1.0/firebase-messaging.js");
Run Code Online (Sandbox Code Playgroud)
它用于 Firebase 云消息传递(FCM),但我不知道为什么 Angular 不喜欢在 ServiceWorker 上导入
它导入它(单击错误 URL 并获取脚本)但不知何故加载失败?
错误在这里:
Uncaught DOMException: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'https://www.gstatic.com/firebasejs/9.1.0/firebase-app.js' failed to load.
at initInSw (http://localhost:4200/firebase-messaging-sw.js:35:1)
at http://localhost:4200/firebase-messaging-sw.js:56:1
Run Code Online (Sandbox Code Playgroud)
角度.json
"assets": [
"src/favicon.ico",
"src/assets",
"src/manifest.json",
"src/firebase-messaging-sw.js"
],
Run Code Online (Sandbox Code Playgroud)
索引.html
<link rel="manifest" href="/manifest.json">
Run Code Online (Sandbox Code Playgroud)
目录
尝试使用 fireship 的实现https://www.youtube.com/watch?v=z27IroVNFLI&t=140s&ab_channel=Fireship但也不起作用(相同的实现只是不同的 firebase 版本),我也认为与此无关
我的理论是,我认为它确实没有加载,而我看到的是控制台请求?(因为文件名是(索引)意味着它没有文件名因此不存在?)
解决了半天后我发现它需要旧版本的 firebase (9.1.0 => 8.10)
angular.json所以我将Firebase 版本和 Service Worker 版本同步到 8.10,它成功了!
| 归档时间: |
|
| 查看次数: |
20949 次 |
| 最近记录: |