我在使用离子2操作ServiceWorker时遇到了很大困难。 我用离子开始了一个新项目:
$ Ionic start pwa-project blank --v2
离子me创建的两个重要文件夹的默认结构: - src - www
两者都有文件: - Index.html(我必须取消对service-worker的调用) - Manifest.json(从我的应用程序设置数据) - Service-worker.js(我的服务工作者本身)
ionc中开发人员的逻辑并未涉及 www 文件夹中的任何内容,只能在 src 文件夹中使用。我做了,运行$ ionic serve
并开始编辑我的html,service-worker和manifest,所有这些都在 src 文件夹中。但我注意到这些更改未反映在 www 文件夹中的相同文件中。
重新启动了$ ionic serve
,没有任何反应。
好的,然后我继续直接在 www 文件夹中编辑这三个文件,从我的服务工作者激活。
这次我遇到了另一个问题。服务工作者不运行。 该脚本在index.html文件中调用service-worker,向控制台输出成功消息"安装服务工作者" 确认它已安装,但我写了一些{{1在我的服务工作者事件和这些事件没有被解雇,我不能说为什么。
console.log()
这些都没有显示在控制台上,这让我觉得服务工作者出于某种原因没有运行。
在Chrome DevTools的“应用程序”窗格中,显示已安装并启用了service-worker。
有没有人遇到过这个问题?管理解决?
PS。:当我在vanilla javascript中创建项目时,一切正常,服务工作者已安装,正在运行,并且消息通常显示在控制台上,这让我相信有任何干扰Ionic(v2)。 / p>
我的离子信息是:
console.log ( '[SERVICE WORKER] Install');
console.log ( '[SERVICE WORKER] Activate');
console.log ( '[SERVICE WORKER] Fetch');
答案 0 :(得分:0)
晚会,但对于我目前的设置,一切正常:
cli packages: (/home/khophi/Developments/Ionic/KhophiPwa/node_modules)
@ionic/cli-utils : 1.9.2
ionic (Ionic CLI) : 3.9.2
global packages:
Cordova CLI : 7.0.1
local packages:
@ionic/app-scripts : 2.1.3
Cordova Platforms : android 6.2.3 ios 4.4.0
Ionic Framework : ionic-angular 3.6.0
System:
Android SDK Tools : 26.0.2
Node : v7.10.1
npm : 4.2.0
OS : Linux 4.10