Angular 6 PWA与节点不起作用

时间:2018-06-28 18:45:04

标签: node.js angular express angular-service-worker pwa

我有一个Angular 6应用程序,该应用程序可以工作并在与 您可以在此处看到http-server --port 8080命令: enter image description here

enter image description here

但是,当我从Node / Express应用程序提供文件时,它们是应提供的。服务人员不会注册,尝试从localhost和Heroku运行该应用程序,但这是相同的。应用程序否则起作用。知道是什么原因造成的吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

我认为这个问题与@angular/cli注册服务工作者时使用的路径有关,我发现在main.ts中注册服务工作者更可靠:

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

或者,看着this recent comment,您可以手动修改app.modules.ts中的路径

-ServiceWorkerModule.register('./ngsw-worker.js', { enabled: environment.production })
+ServiceWorkerModule.register('.ngsw-worker.js', { enabled: environment.production })