无法使用角度cli以角度注册服务工作者

问题描述 投票:3回答:1

我试图将我的角应用程序转换为PWA,所以尝试使用npm install @angular/service-worker --saveng add @angular/pwa添加服务工作者然后我使用ng build --prod在生产模式下构建应用程序并使用ng serve --open服务应用程序但在控制台 - >应用程序选项卡我得到manifest.json运行良好,但service worker没有注册,并在服务工作者部分没有显示任何内容。

这是我的src/index.html 这是我的src/main.ts 这是我的angular.json 这是我的ngsw-config.json 这是我的src/app/app.module.ts

angular mean-stack service-worker progressive-web-apps
1个回答
1
投票

服务工作者运行ONLY ON HTTPS域..如果你在localhost上测试它无法工作..也许尝试使用angular cli运行你的localhost站点:

ng serve --prod --ssl=true

希望它能帮到你

也可以在main.ts文件中尝试:

platformBrowserDynamic().bootstrapModule(AppModule)
  .then(() => {
    if ('serviceWorker' in navigator && environment.production) {
      navigator.serviceWorker.register('/ngsw-worker.js', {
        updateViaCache: 'none'
      }).then((sw) => {
        sw.update();
      });
    }
  })
  .catch(err => console.log(err));

并仔细检查您的dist文件夹中的所有必要文件:

ngsw-worker.js

 ngsw.json 

如截图所示

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.