【发布时间】:2018-08-15 22:38:41
【问题描述】:
我尝试了互联网上所有关于如何将 PWA 添加到 Angular 项目的解决方案,但仍然在 Chrome 开发工具中,没有注册服务工作者。
我确实使用ng build --prod 和http-server -o 运行了ng add @angular/pwa,但仍然没有注册服务人员。它也没有添加 @angular/service-worker 包,也没有像互联网上所指出的那样添加 Manifest.json 文件。
我还尝试使用预装了ng new myProject --service-worker 的 PWA 创建一个新项目,但也无法正常工作。
我什至尝试注册服务,如下所示:
if ( 'serviceWorker' in navigator ) {
window.addEventListener('load', function() {
navigator.serviceWorker.register('/service-worker.js');
});
附注:当我运行 ng add @angular/pwa 时,我收到一条消息“路径 '/ngsw-config.json' 已存在”,所以我发现该文件位于 @schematics 包下。该脚本仅添加了一个 @angular/pwa 包,它与 Angular PWA 文档不相关。
这是我的环境:
Angular 6.1.2
Angular CLI: 6.1.3
Node 8.11.3
NPM 5.6.0
我需要做什么才能获得一个普通的 PWA Angular 项目?
【问题讨论】:
-
是的,不幸的是,最近
cli中似乎有很多错误:( 我自己也遇到了这个问题,还没有找到任何 easy 解决方案。正在工作同时在项目的其他部分:) -
我这里有一个空的基础 PWA,如果与你的比较可能会有所帮助。 github.com/ng-chicago/AngularBasePWA
-
请注意我采取的创建步骤在 ReadMe.md 中
-
谢谢@Mathias,我确实测试了你的项目,但没有成功,站点工作,但没有服务人员,并且出现以下错误:'SecurityError: Only secure origins are allowed'。我想现在不是启动 PWA 应用程序的好时机,所以我们回到混合应用程序
-
我将它部署到了一个 HTTPS 服务器并且它工作了,谢谢@Mathias。所以这让我更深入地挖掘并试图找出问题所在。新版本的
@angular/pwa有一些错误。所以运行ng add @angular/pwa@0.6.8工作得很好
标签: angular progressive-web-apps