276 votes

TypeError [ERR_INVALID_ARG_TYPE] : L'argument "path" doit être de type chaîne. Type de réception non défini déclenché lors du démarrage de l'application de réaction

Je travaille sur un projet dans React et j'ai rencontré un problème qui m'a laissé perplexe.

Chaque fois que j'exécute yarn start j'obtiens cette erreur :

TypeError [ERR_INVALID_ARG_TYPE] : L'argument "path" doit être de type chaîne. Type reçu non défini

Je ne sais pas pourquoi cela se produit, si quelqu'un a vécu cela, je lui serais reconnaissant.

444voto

EngrEric Points 4144

Pour résoudre ce problème, mettez simplement à niveau le package react-scripts (vérifiez la dernière version avec npm info react-scripts version ):

  1. Remplacez dans votre package.json "react-scripts": "^3.x.x" par "react-scripts": "^3.4.1" (ou la dernière version disponible)
  2. (facultatif pour certains) Supprimez votre dossier node_modules
  3. Exécuter npm install ou yarn install

Certaines personnes ont signalé que ce problème était causé par l'exécution de npm audit fix (à éviter !).

65voto

Iman Mohamadi Points 176

Si vous vous êtes éjecté, voici la bonne façon de résoudre ce problème :

trouvez ce fichier config/webpackDevServer.config.js puis à l'intérieur de ce fichier trouvez la ligne suivante :

 app.use(noopServiceWorkerMiddleware());

Vous devez le changer en :

 app.use(noopServiceWorkerMiddleware('/'));

Pour moi (et probablement pour la plupart d'entre vous), le service worker est servi à la racine du projet. Au cas où cela serait différent pour vous, vous pouvez passer votre chemin de base à la place.

19voto

albert sh Points 166

L'exécution de npm i react-dev-utils@10.0.0 résolu mon problème.

10voto

Al DeLuca Points 99

Nous avons été éjectés de react-scripts et nous n'avons donc pas pu simplement mettre à niveau l'entrée package.json pour résoudre ce problème.

Au lieu de cela, nous avons fait ceci : 1.) dans un nouveau répertoire, créez un nouveau projet -> $> npx create-react-app foo-project 2.) puis éjectez-le -> cd ./foo-project && npm run eject 3.) copiez maintenant les fichiers de /foo-project/config dans le répertoire config de notre application principale et lancez votre serveur de développement

J'espère que cela aidera d'autres personnes dans une situation similaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X