我有一个网站(Angular 9.0.1),我添加了@angular/pwa
包以将其转换为 PWA,但它无法正常工作。
该网站位于生产站点上,但现在在https://new.indomablestore.com上有测试数据
我检查了所需的文件(manifest.webmanifest
, ngsw.json
, ngsw-worker.js
)是否在根文件夹中。我检查了 index.html 文件是否正确指向清单,并且它显示在 Chrome DevtoolsApplication
选项卡上。
但在该Installability
部分它说:未检测到匹配的服务人员。您可能需要重新加载页面,或者检查当前页面的服务工作者是否也控制清单中的起始 URL。
我还检查了该app.module.ts
文件是否有这一行:
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })
而且我没有修改任何 PWA 文件,我让 Angular CLI 构建它们。
任何帮助将不胜感激,因为该网站即将上线,这是我名单上的最后一件事:)
谢谢!
更新:清单如下所示:
"name": "Indomable",
"short_name": "Indomable",
"theme_color": "#1976d2",
"background_color": "#fafafa",
"display": "standalone",
"scope": "/",
"start_url": "/",
"icons": [
...
]
}
Service Worker 在 app.module 上注册,如下所示:
@NgModule({
declarations: [
AppComponent,
...PAGES,
...COMPONENTS,
...PIPES
],
imports: [
BrowserModule,
HttpClientModule,
FormsModule,
routing,
NgxPayPalModule,
ServiceWorkerModule.register('./ngsw-worker.js', { enabled: environment.production, scope: './' })
],
...
无论如何,感谢您的快速回答:)