web-dev-qa-db-fra.com

Angular 7 - service worker non inscrit

J'ai tout fait comme indiqué dans " https://angular.io/guide/service-worker-getting-started " pour créer mon application PWA. 

Utilisé exactement cette commande:

ng add @angular/pwa

npm install http-server -g

ng build --prod

http-server -p 8080 -c-1 dist

Puis j'ai ouvert cette URL sur Chrome (en incognito)

http://127.0.0.1:8080

Lorsque j'ouvre des outils pour les développeurs (f12)> Applications> Service Workers, aucun service service n'est disponible et le site Web ne fonctionne pas lorsque je le mets hors ligne.

Informations supplémentaires sur mon application angulaire:

package.json: (les plus importants)

"@angular/core": "^7.0.2",
"@angular/pwa": "^0.10.6",
"@angular/service-worker": "^7.0.4",
"@angular-devkit/build-angular": "^0.10.6",
"@angular/cli": "^7.0.6",
5
tzm

Il semble que la configuration de l’opérateur de service soit interrompue pour le @ angular/cli @ 7.1.4:

En tant que solution temporaire, vous pouvez l'enregistrer manuellement vous-même en modifiant le fichier src/main.ts (une fois corrigé, vous pourrez supprimer l'enregistrement du prestataire de services manuel.)

.....

platformBrowserDynamic().bootstrapModule(AppModule).then(() => {
  if ('serviceWorker' in navigator && environment.production) {
    navigator.serviceWorker.register('/ngsw-worker.js');
  }
}).catch(err => console.log(err));

PS: Le problème Github a été créé: https://github.com/angular/angular-cli/issues/13351

3
artemisian

Je pense que vous avez suivi les étapes et les instructions pour installer les bibliothèques requises à partir de la documentation. Pour simuler un problème de réseau : Outils> Outils de développement> Onglet Réseau> Cochez la case Hors ligne. Maintenant, l'application n'a pas accès à l'interaction réseau. Si vous consultez l'onglet Réseau, vous pouvez vérifier que l'agent de service est actif.

0
jess