Why PWA ServiceWorker don't work for me with Ionic 2?


#1

Hello everyone. I am having great difficulty in operating the ServiceWorker with ionic 2.
I start a new project with ionic this:

$ Ionic start pwa-project blank --v2

The default structure created by the ionic me two important folders:
- src
- www

In both there are the files:

  • Index.html (where I have to uncomment the call to service-worker)
  • Manifest.json (which set up the data from my app)
  • Service-worker.js (the my service worker itself)

The logic for developers in ionc is not touching anything in the www folder and only work in the src folder. And I did, ran the $ ionic serve and started to edit my html, service-worker and manifest, all in the src folder. But I noticed that the changes are not reflected on the same files in the www folder.
Restarted the $ ionic serve and nothing happened.

All right, then I proceeded to edit these three files directly in the www folder to Activate from my service-worker.

This time I came across another problem. The service-worker does not run.
The script invokes the service-worker in the index.html file prints to the console the success message “service worker installed” confirming that it was installed, but I wrote some console.log() in my service-worker of events and these events are not fired, and I can not say why.

console.log ( '[SERVICE WORKER] Install');
console.log ( '[SERVICE WORKER] Activate');
console.log ( '[SERVICE WORKER] Fetch');

None of these is displayed on the console, which makes me believe that the service-worker for some reason, is not running.

In Chrome DevTools, Application pane, appears that the service-worker is installed and enabled.

Has anyone experienced this problem? Managed to solve?

PS .: When I create a project in vanilla javascript everything works fine, the service-worker is installed, running and messages are usually displayed on the console, which makes me believe that there is any interference Ionic (v2).

My Ionic info is:

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