0
votes

Assurez-vous que votre fichier de travailleurs de service contient les éléments suivants: / (const Precachemanifest =) \ [\] (;) /

Je suis assez nouveau pour réagir de réact de la boîte de travail. J'essaie de faire en sorte que mon application d'électrons réagir a la capacité de mettre en cache toutes les images et toutes les données disponibles pendant son déconnexion. C'est exactement ce que j'essaie d'accomplir comme dans cette vidéo YouTube. À partir de 14h00 à 21h00: Construire des PWA avec réaction et zone de travail, / regarder? v = ok2r1m1jm_m code>

mais cette commande donne p>

C:\Users\rajesh.ram\Desktop\Day\K\demok\client>npm run start-sw

> client@0.1.0 start-sw C:\Users\rajesh.ram\Desktop\Day\K\demok\client
> workbox injectManifest workbox-config.js && workbox copylibraries build/ && http-server build/ -c 0

Using configuration from C:\Users\rajesh.ram\Desktop\Day\K\demok\client\workbox-config.js.
Service worker generation failed:

Unable to find a place to inject the manifest. Please ensure that your service worker file contains the followin

g:/(const precacheManifest =)\[\](;)/


0 commentaires

3 Réponses :


0
votes

Si vous suivez la vidéo strictement, assurez-vous que le fichier SW.Js personnalisé que vous créez dans le dossier SRC est exactement:

    module.exports = {
      globDirectory: "build/",
      globPatterns: ["**/*.{json,ico,html,png,js,txt,css}"],
      swDest: "build/sw.js",
      swSrc: "src/sw.js",
      injectionPointRegexp: /(const precacheManifest = )\[\](;)/
    };


0 commentaires

2
votes

Dans les versions de la boîte de travail plus récentes, y compris 5.1.3 Courant au moment de cet article, le paramètre qui spécifie le point d'injection pour le PRÉCACHEMANEFEST a changé de regex à la chaîne. Le nom du paramètre a également changé et autant que je puisse dire que ce n'est pas compatible en arrière ... ce qui signifie qu'il ne fonctionne plus pour utiliser plus de regex. XXX PRE>

Modification de ce paramètre par ci-dessus a fonctionné pour moi après le reste de la vidéo. p>

Alors plusieurs autres mises à jour concernées Comment SW.JS est écrit aussi ... p>

importScripts("workbox-v5.1.3/workbox-sw.js");

workbox.setConfig({ modulePathPrefix: "workbox-v5.1.3/" });

const precacheManifest = [injectionPoint];

workbox.precaching.precacheAndRoute(precacheManifest);


0 commentaires

0
votes

En modifiant le paramètre de Precacheandroute comme ci-dessous, il a fonctionné pour moi xxx


0 commentaires