頑張らないために頑張る

ゆるく頑張ります

「'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」と出たら`export {}`を追記しよう

Posted at — Mar 3, 2023

概要

小ネタです。

'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コードを再コンパイルしてみると、エラーメッセージは消えるはずです。

参考

  1. cannot be compiled under ‘–isolatedModules’が出た時の対処方法
comments powered by Disqus