エラーTS1149:ファイル名「C:/Project/frontend/scripts/State.ts」は、既に含まれているファイル名「../frontend/scripts/State.ts」と大文字と小文字のみが異なります。
参考文献で大文字と小文字を3回確認しましたが、実際のファイルにも正しい大文字と小文字が含まれています。私が知る限り、これは単に相対パスが間違った大文字と小文字を使用しているからですか、それとも単に相対パス自体のためですか?
問題は、MacとLinuxでは問題なくコンパイルできますが、Windowsではこのエラーがスローされることです。
役立つ場合は、tsconfigでforceConsistentCasingInFileNames
が有効になっており、tsifyを使用してコンパイルしています。
答えは、forceConsistentCasingInFileNames
が4.0.0までサポートされていなかったtisfy 1.0.1を使用していたことです。更新により問題が修正されました。
私の場合、エラーはimportステートメントにありました。インポートステートメントには小文字の代わりに大文字がありました。これはWindowsでの開発中に機能しましたが、実動用のコンパイル時には機能しませんでした。
違う:
import {SomeClass} from '/some/path/SomeClass.ts';
正しい:
import {SomeClass} from '/some/path/someClass.ts';
「React」を「react」に変更するとうまくいきました。
間違った:
import React from "React";
正しい:
import React from "react";