私は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
ファイルを使用できるようになりました
ファイルをインポートしていない可能性があります。使用するにはファイルをインポートする必要があります。
import Action from '/code/app_react/src/common/Action.tsx';
これをwebpack.config.jsにも追加します。
resolve: {
extensions: [".ts", ".tsx", ".js", ".jsx"]
},
よろしくお願いします!
私はこの問題を抱えていて(js
ではなくjsx
にjsx
をtsx
に名前変更しましたが)、解決策が質問に追加されました(実行中git rm
(元のファイル)が機能しませんでした。
このr/reactjs Redditスレッド によって何が機能したかが示唆されました:削除して再インストールしますnode_modules
:
rm -rf node_modules && npm i
同じ問題が発生したため、削除する必要はありませんnode_moudles
またはターゲットファイルを削除just:
node
を使用している場合は、windows
を強制終了します ctrl+alt+delete タスクマネージャーを実行し、ノードを見つけて終了プロセスを実行します。Linuxの場合は、おそらくpkill node
または等。私が殺した後node.js
を再実行してくださいnpm start
ターゲットファイルを見つけます。
実行中の私の糸プロセスを殺し、vscodeを殺し、両方を再起動し、それは機能します