我有一个有角度的应用程序,我们正在使用tomcat部署(使用war)。我正在使用angular-sw向应用程序添加脱机支持。 使用上下文路径(例如show-app)访问该应用程序
我现在面临的问题是,当我尝试使用以下网址访问应用程序(使用chrome dev工具的离线模式)时,它的运行状况很好:
http://localhost:8080/showcase-app/
http://localhost:8080/showcase-app/index.html(重定向到http://localhost:8080/showcase-app/)
当我按F5键时,我会收到http 504
如果我尝试http://localhost:8080/showcase-app,则会引发504错误
我认为这与路由有关,但不确定到底是什么问题。
这是我生成的ngsw.json文件(删除不必要的CSS和JS网址)
{
"configVersion": 1,
"timestamp": 1565693252354,
"index": "/showcase-app/index.html",
"assetGroups": [
{
"name": "app",
"installMode": "prefetch",
"updateMode": "prefetch",
"urls": [
"/showcase-app/favicon.ico",
"/showcase-app/index.html",
"/showcase-app/main-es2015.f5103b4162e6ae00889a.js",
"/showcase-app/main-es5.0b19cc7e5eb478145768.js",
"/showcase-app/polyfills-es2015.e35a976998ea3f8206df.js",
"/showcase-app/polyfills-es5.6e97d82e42cdf0e046a3.js",
"/showcase-app/runtime-es2015.3d53808bc2188f4243c7.js",
"/showcase-app/runtime-es5.f1b869bd6638a324a133.js",
"/showcase-app/scripts.385aa2cec8cdc651bfad.js",
"/showcase-app/styles.5b950d38f1d7a3ba6506.css",
],
"patterns": []
},
{
"name": "assets",
"installMode": "lazy",
"updateMode": "prefetch",
"urls": [
"/showcase-app/CardObject.f4ac54620cd0f92eb623.png"
],
"patterns": []
}
],
"dataGroups": [],
"hashTable": {
"/showcase-app/CardObject.f4ac54620cd0f92eb623.png": "425c1e1cfed36bea7d7d3637fa95c147bd5480d3"
},
"navigationUrls": [
{
"positive": true,
"regex": "^\\/.*$"
},
{
"positive": false,
"regex": "^\\/(?:.+\\/)?[^/]*\\.[^/]*$"
},
{
"positive": false,
"regex": "^\\/(?:.+\\/)?[^/]*__[^/]*$"
},
{
"positive": false,
"regex": "^\\/(?:.+\\/)?[^/]*__[^/]*\\/.*$"
}
]
}
我正在使用Angular 8
答案 0 :(得分:0)
根据此文档,您将需要https与服务工作者一起使用...无论如何,如果您在本地tomcat中尝试它,它将可以使用...
https://developers.google.com/web/fundamentals/primers/service-workers/#you_need_https