我用 Service Worker 构建了一个 Angular 应用程序,
然后我使用 Scully 将其渲染。
我在 DevTool 网络选项卡中收到此错误
错误来自
ngsw-worker.js:2837
这是这个功能
safeFetch(req) {
return __awaiter(this, void 0, void 0, function* () {
try {
return yield this.scope.fetch(req); // <-- HERE
}
catch (err) {
this.debugger.log(err, `Driver.fetch(${req.url})`);
return this.adapter.newResponse(null, {
status: 504,
statusText: 'Gateway Timeout',
});
}
});
}
要求Headers
是:
由于 Scully,哈希存在问题
https://github.com/scullyio/scully/issues/529
我设法解决了它,
我在 SW 日志页面 ( /ngsw/state
) NGSW 调试信息中得到了这个:
Driver state: NORMAL ((nominal))
Latest manifest hash: 6adfbdb87f6c8e7d296a7da8836b5c0a0468eea4
Last update check: 4s586u
=== Version 6adfbdb87f6c8e7d296a7da8836b5c0a0468eea4 ===
Clients: fef622b4-9d59-4d93-b5c3-413e98603a76, 1464861a-cc42-4300-acf2-d829a93544a6, 4d9bb256-3b7c-4881-91d6-fa237aec1e73, 68cab6b8-f568-46dd-9416-79ae759203c2, e05f709c-b742-4550-84cd-a98e96d45f0b, 1bfcc89e-53b4-44c2-a65a-557c4472f089, 5efbb0d8-c3de-4002-930e-fdcb3f463c62, 8e1919b8-af58-42cd-b787-63769fdfa47b, 4e30addb-5aa8-40db-b76e-e95c0adc6840, ede2660a-2866-4458-8546-a48574943861, 2f218b42-5894-4c93-90d2-e3950b09cadc, 95939183-dcc5-4d4d-a59e-eee2c68d04be, 664f9c71-995c-4f46-a762-a852784a8df7, ca01089d-acd0-4060-846b-af5c5cd393ae
=== Idle Task Queue ===
Last update tick: 472u
Last update run: 4s877u
Task queue:
Debug log:
[13s449u] TypeError(Failed to fetch, TypeError: Failed to fetch) Driver.fetch(https://myPrj-preview-name-iot7o35q.web.app/)
Service Worker 已正确注册,即使离线也能正常工作,
问题是从八月开始安装将无法正常工作,
关于如何防止这种情况的任何想法?