Предотвратить автоматическое обновление Angular PWA - PullRequest
0 голосов
/ 31 января 2019

Angular-PWA может быть хорошим выбором для моего недавнего проекта запуска.Но одна из его приятных функций должна быть отключена!

Приложение будет содержать конфиденциальные данные и должно быть стабильным в течение длительного периода времени (пока пользователь не выберет Обновление явно).Поэтому он не должен обновляться автоматически.

Официальная документация сервисного работника Angular не включает никаких идей относительно этой стратегии.

Есть идея?

1 Ответ

0 голосов
/ 02 марта 2019

Сервис-работник Angular пытается проверить обновление в трех местах.Сначала по явному запросу (ОК) и два других (check-updates-on-navigation и init post-load (update)) автоматизируются и должны быть отключены .Смотрите патч ниже (для @angular/service-worker v7.1.0):

--- "node_modules/@angular/service-worker/ngsw-worker.js"   1985-10-26 11:45:00.000000000 +0330
+++ "node_modules/@angular/service-worker/ngsw-worker.js"   2019-02-13 23:28:10.828903500 +0330
@@ -1990 +1990 @@
-                    const action = (() => __awaiter$5(this, void 0, void 0, function* () { yield this.checkForUpdate(); }))();
+                    const action = (() => __awaiter$5(this, void 0, void 0, function* () { console.log('WILL_UPDATE_ON_EXPLICIT_MESSAGE'); yield this.checkForUpdate(); }))();
@@ -2101 +2101 @@
-                        yield this.checkForUpdate();
+                        console.log('DISCARDED: check-updates-on-navigation'); //yield this.checkForUpdate();
@@ -2171 +2171 @@
-                        yield this.checkForUpdate();
+                        console.log('DISCARDED: init post-load (update)'); //yield this.checkForUpdate();

Но я не использую этот рискованный способ.

...