web-dev-qa-db-ja.com

jsxファイルをtsxに変換した後、Reactjs "エラー:ENOENT:そのようなファイルまたはディレクトリはありません。開いてください。"

私はcreate-react-appアプリを持っていて、jsxからTypeScriptへの翻訳ファイルです。たとえば、1つのファイルの名前は/code/app_react/src/common/Action.jsxで、名前を/code/app_react/src/common/Action.tsxに変更しました。 tsxに正常に変換するために必要な変更を加えましたが、名前の変更に関連するエラーが発生します。

./src/common/Action.jsx Error:ENOENT:no such file or directory、open '/code/src/common/Action.jsx'

  • 再構築しても役に立たない
  • 何らかの理由で、ファイルの古いバージョンが予期されています

このファイルをインポートするファイルはjsxファイルですが、今はtsxファイルをインポートしています。

これはCRAアプリなので、このエラーをクリアする正しい方法はありますか?

解決策:git rmコマンドを次のように使用して、gitリポジトリから削除する必要がありました。

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

それを行うと、コミットされたファイルからjsxが削除され、新しいtsxファイルを使用できるようになりました

7
thehme

ファイルをインポートしていない可能性があります。使用するにはファイルをインポートする必要があります。

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

これをwebpack.config.jsにも追加します。

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

よろしくお願いします!

2

私はこの問題を抱えていて(jsではなくjsxjsxtsxに名前変更しましたが)、解決策が質問に追加されました(実行中git rm(元のファイル)が機能しませんでした。

このr/reactjs Redditスレッド によって何が機能したかが示唆されました:削除して再インストールしますnode_modules

rm -rf node_modules && npm i
1
Aaron

同じ問題が発生したため、削除する必要はありませんnode_moudlesまたはターゲットファイルを削除just:

nodeを使用している場合は、windowsを強制終了します ctrl+alt+delete タスクマネージャーを実行し、ノードを見つけて終了プロセスを実行します。Linuxの場合は、おそらくpkill nodeまたは等。私が殺した後node.jsを再実行してくださいnpm startターゲットファイルを見つけます。

0
Pedram

実行中の私の糸プロセスを殺し、vscodeを殺し、両方を再起動し、それは機能します

0
Code Wiget