angular/pwa 踩坑

踩坑

  • 需要在IIS服务器添加MIME type,否则请求不到mainifest文件,报404 solution参考链接

  • 当你改变了base_href时, angular中app.module文件注册service worker时候需要改变地址:'ngsw-worker.js' 变为 './ngsw-worker.js'

       ServiceWorkerModule.register('./ngsw-worker.js', {
        enabled: environment.production,
        // Register the ServiceWorker as soon as the app is stable
        // or after 30 seconds (whichever comes first).
        registrationStrategy: 'registerWhenStable:30000',
      }),
      
    复制代码
  • ios safari浏览器中将PWA应用添加到主屏幕,应用的启动显示图标会不起作用,需要添加以下代码:

    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="default">
    <meta name="apple-mobile-web-app-title" content="refract">
    <link rel="apple-touch-icon" href="https://juejin.cn/post/assets/icons/icon-152x152.png">
      
    复制代码

cache api data

ngsw-config.json文件中,加入以下代码:

"dataGroups": [
{
  "name": "api",
  "urls": ["/api"],
  "cacheConfig": {
    "maxSize": 100,
    "maxAge": "3d",
    "timeout": "2m",
    "strategy": "freshness"
  }
}
复制代码

]

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享