小ネタです。
'hoge.ts' cannot be compiled under '--isolatedModules' because it is considered a global script file. Add an import, export, or an empty 'export {}' statement to make it a module.
ちょっと長いですが、TypeScriptを書いているときにこんなエラーメッセージが出たりします。
このエラーメッセージは通常、モジュールに含まれていないTypeScriptファイル(この場合はhoge.ts)をコンパイルしようとしているときに、--isolatedModules
コンパイラフラグが有効になっていると表示されます。
--isolatedModules
フラグはTypeScriptコンパイラのフラグで、モジュール間の分離を強化し、各ファイルが自己完結したモジュールであることを保証するものです。これにより、グローバルな名前空間汚染などの問題を防ぐことができます。
このエラーを修正するには、ファイルの先頭にexport {}
を追加してhoge.tsファイルをモジュール化する必要があります。このステートメントは、実際に何かをエクスポートする必要がない場合でも、アプリケーション内の他のモジュールによってインポートされることができる空のモジュールを作成します。export {}
ステートメントを追加した後は、通常通りファイル内の残りのコードを書き続けることができます。
export {};
// 以降にコードを普段どおりに書く
上記のようにhoge.tsファイルにexport {}
文を追加したら、--isolatedModules
フラグを有効にしてTypeScriptコードを再コンパイルしてみると、エラーメッセージは消えるはずです。