Angular-PWA对于我最近的启动项目可能是一个不错的选择。但是必须禁用其漂亮功能之一!
该应用将具有敏感数据,并且必须在长时间内保持稳定(直到用户明确选择 Update 为止)。因此,它不能自动更新。
The official documentation of Angular's Service-worker不包含有关此策略的任何想法。
有什么主意吗?
答案 0 :(得分:0)
Angular的Service-worker总共尝试检查3个地方。首先,在明确请求(OK)和 另外两个(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();
但是我不使用这种冒险的方式。