node.js - Angular 6 PWA 与 Node 不工作
问题描述
我有一个 Angular 6 应用程序,它可以在使用命令服务时工作并注册 SW,
http-server --port 8080
如您在此处看到的:
但是当我从我的 Node / Express 应用程序中提供文件时,它们应该被提供。服务人员不会注册,尝试从 localhost 和 Heroku 运行应用程序,但它是一样的。应用程序以其他方式工作。知道什么会导致这种情况吗?
解决方案
我认为这个问题与@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));
或者,查看此最近的评论,您可以手动修改路径app.modules.ts
-ServiceWorkerModule.register('./ngsw-worker.js', { enabled: environment.production })
+ServiceWorkerModule.register('.ngsw-worker.js', { enabled: environment.production })
推荐阅读
- python - read_excel 的波斯语路径
- mongodb - Spring Boot:如何在更高的环境中通过 SRV 连接到 MongoDB,而在本地环境中连接到本地数据库
- javascript - react native:将警报更改为模态的方法
- reactjs - react css modules 导致快照测试失败
- postgresql - 用于将查询结果导出到文件的 postgres \copy 命令出现问题
- microsoft-graph-api - Graph API:DriveItem 的上传内容为 AzureChina 引发 501 not_implemented 错误
- sql - 遗漏连接返回重复记录
- vue.js - 无需模板即可动态设置 CSS 类
- javascript - javascript/打字稿 | 类验证器 | 自定义验证装饰器 | 覆盖 `validator` 方法中的 `validationOptions`
- c# - 将 SQL 语句重写为 LINQ 查询会导致运行时错误