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'
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
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!
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
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.
J'ai tué mon processus de fil en cours d'exécution, tué vscode, redémarré les deux et cela fonctionne