同一个域中的多个 PWA

rah*_*y19 8 progressive-web-apps angular pwa

是否可以在同一端点下托管多个 PWA。比如说,我在 root 下有三个不同的 PWA,然后 root 应该以这样的方式托管这 3 个 PWA,这样当我通过链接或菜单切换到任何其他应用程序时,它不应该在不同的窗口中打开。目前,每当我点击不同的应用程序时,它都会作为网络应用程序在不同的窗口中打开。

谢谢,拉胡尔

abi*_*ita 7

你可以参考这个线程。它表示您可以使用范围应用程序来完成此操作。

更新您的清单文件以包含一个scope参数,该参数具有“应用程序”应在其下提供的路径值。

"scope": "/r/aizumap/",
Run Code Online (Sandbox Code Playgroud)

"scope": "/r/naramap/",
Run Code Online (Sandbox Code Playgroud)

您仍然可以使用单个 Service Worker,但每个子应用程序都需要/在其路径中 有一个尾随start_url/scope才能工作。

这是一个样本来源,也可能有帮助。


Ana*_*and 5

如果可以,您可以拥有多个 PWA

1) 将应用程序拆分为多个 Web 应用程序,为每个应用程序创建一个 Manifest.json 和一个 Service Worker。

2) 在不同的 URL 下托管

当您只有一个 Manifest 和一个 SW 注册一个路径时,您不能拥有多个 PWA,因为这两件事本质上定义了一个具有唯一范围的唯一 PWA(应用程序可访问的 URL)

  • @chaserino 事实并非如此。iOS 只会将 URL 剥离到应用程序的根文件夹。我有一个位于domain.com/da 的应用程序,iOS 不会删除/da 部分。阅读您的评论后,我通过在 iOS 设备和互联网之间设置代理来确认这一点。从主屏幕打开应用程序后发出的第一个请求是针对domain.com/da。 (3认同)