web-dev-qa-db-fra.com

Reactjs "Erreur: ENOENT: aucun fichier ou répertoire de ce type, ouvrez .." après la conversion du fichier jsx en tsx

J'ai un create-react-app app et je suis des fichiers de traduction de jsx vers TypeScript. Par exemple, un fichier est appelé /code/app_react/src/common/Action.jsx et je l'ai renommé /code/app_react/src/common/Action.tsx. J'ai apporté les modifications nécessaires pour le convertir avec succès en tsx, mais je reçois une erreur liée au changement de nom:

./src/common/Action.jsx Erreur: ENOENT: aucun fichier ou répertoire de ce type, ouvrez '/code/src/common/Action.jsx'

  • reconstruire n'aide pas
  • pour une raison quelconque, l'ancienne version du fichier est attendue

Le fichier qui importe ce fichier est un fichier jsx, mais maintenant j'y importe un fichier tsx.

Il s'agit d'une application de l'ARC. Existe-t-il un moyen correct de supprimer cette erreur?

SOLUTION: J'ai dû les supprimer du référentiel git, en utilisant le git rm commande, comme ceci:

git rm /code/src/common/Action.jsx

Une fois que j'ai fait cela, il a supprimé le jsx des fichiers validés, puis j'ai pu utiliser les nouveaux fichiers tsx

7
thehme

Vous n'avez peut-être pas importé le fichier. Vous devez importer le fichier pour l'utiliser.

import Action from '/code/app_react/src/common/Action.tsx';

Ajoutez-le également à votre webpack.config.js.

resolve: {
    extensions: [".ts", ".tsx", ".js", ".jsx"]
},

Vous êtes prêt à partir!

2
Akshay Mulgavkar

J'avais ce problème (même si j'avais renommé js en jsx, plutôt que jsx en tsx), et la solution ajoutée à la question (exécution git rm sur le fichier d'origine) n'a pas fonctionné pour moi.

Ce qui a fonctionné a été suggéré par ce fil r/reactjs Reddit : supprimer et réinstaller node_modules:

rm -rf node_modules && npm i
1
Aaron

J'ai eu le même problème, pas besoin de supprimer node_moudles ou supprimer le fichier cible, juste:

tuer node, si vous sur windows ctrl+alt+delete pour exécuter le gestionnaire de tâches, et trouver le nœud et faire un processus de fin, si vous sur Linux, probablement quelque chose comme pkill node ou etc. Après avoir tué node.js et relancez npm start il trouve le fichier cible.

0
Pedram

J'ai tué mon processus de fil en cours d'exécution, tué vscode, redémarré les deux et cela fonctionne

0
Code Wiget