【发布时间】:2016-10-27 23:32:55
【问题描述】:
我在使用 ionic 2 操作 ServiceWorker 时遇到很大困难。 我用 ionic 开始了一个新项目:
$ Ionic start pwa-project blank --v2
ionic me 创建的默认结构有两个重要文件夹: - 源代码 - 万维网
两者都有文件: - Index.html(我必须取消注释对服务人员的调用) - Manifest.json(从我的应用程序中设置数据) - Service-worker.js(我的服务工作者本身)
ionc 中开发人员的逻辑不涉及 www 文件夹中的任何内容,仅在 src 文件夹中有效。我做到了,运行$ ionic serve 并开始编辑我的html、service-worker 和manifest,所有这些都在src 文件夹中。但我注意到更改并未反映在 www 文件夹中的相同文件上。
重启$ ionic serve,什么也没发生。
好的,然后我直接在 www 文件夹中编辑这三个文件以从我的服务人员激活。
这一次我遇到了另一个问题。 service-worker 没有运行。
该脚本调用 index.html 文件中的 service-worker 向控制台打印成功消息 "service worker installed" 确认它已安装,但我在我的 service-worker 中写了一些 console.log()的事件和这些事件没有被触发,我不能说为什么。
console.log ( '[SERVICE WORKER] Install');
console.log ( '[SERVICE WORKER] Activate');
console.log ( '[SERVICE WORKER] Fetch');
这些都没有显示在控制台上,这让我相信 service-worker 出于某种原因没有运行。
在 Chrome DevTools 的“应用程序”窗格中,显示 service-worker 已安装并启用。
有人遇到过这个问题吗?解决了吗?
PS .: 当我在 vanilla javascript 中创建一个项目时,一切正常,service-worker 已安装、运行并且消息通常显示在控制台上,这让我相信有任何干扰 Ionic (v2)。
我的 Ionic 信息是:
Cordova CLI: 6.3.1
Gulp version: CLI version 3.9.1
Gulp local: Local version 3.9.1
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
OS: Distributor ID: elementary OS Description: elementary OS Freya
Node Version: v5.12.0
【问题讨论】:
标签: ionic2 offline service-worker progressive-web-apps