簡體   English   中英

Angular PWA 在沒有 WorkBox 的情況下添加后台同步

[英]Angular PWA adding background sync without WorkBox

所以我的問題很簡單:

使用 Angular PWA 時是否有后台同步。 由於某些原因,我無法使用 WorkBox。

我找到的唯一信息是: https : //github.com/angular/angular/issues/22145

目前仍在開放中。 有沒有其他選擇?

我覺得沒有后台同步,制作“離線應用程序”是不可能的。 我發現這個https://golb.hplar.ch/2018/12/background-sync-ng.html它告訴我有一種方法不幸的是我一般沒有太多的 PWA 經驗,我沒有了解上述鏈接的工作原理/可以幫助我。

歡迎任何指南或解決方案!

首先把Angular從這個問題中分離出來,它和service worker沒有關系。 完全分開的動物。

Workbox 只是一個庫,它將許多 Service Worker 緩存模式抽象為一個更易於管理的 API,並在瀏覽器支持時添加后台同步。

您可以在沒有 Workbox 的情況下使用后台同步 API。 我會警告你,它是一個非常復雜的 API,就像 IndexedDB 一樣。

你不需要后台同步來使 PWA 離線工作。 它是完全可選的。 事實上,因為只有 Chrome 和 Edge 支持后台同步,所以我什至不關心 API。 相反,如果我需要離線同步功能,我會根據應用程序需求構建一個解決方案。 我結合使用 IndexedDB 和 Service Worker 緩存來持久化數據。

后台同步 API 為您提供的優勢是它會在用戶不活躍在應用程序甚至設備中的情況下啟動服務工作者。 就在設備感覺網絡再次可用時。

@angular/service-worker 沒有后台同步 API 支持。

功能請求在此處跟蹤

Angular PWA 庫基於 ngsw-config.json 文件重新構建了 Service Worker。 不建議修改這個生成的 Service Worker,因為它會在構建時重新構建,因此您受庫供應商的支配,該供應商尚不支持后台同步 API。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM