https://typescriptbook.jp/reference/import-export-require :
モジュールは、importまたはexportを1つ以上含むJavaScriptファイルを言います。
TypeScriptはそうなんだろうが、分かりにくいな。スクリプト/モジュール判定法は、2つに分ける。
- 内的判定: ソースファイルの中身を見て判断する。
- 外的判定: ソースファイルの中身は見ない。
内的判定はさらに:
- ファイルを全部見る。
- ファイルの先頭だけ見る。
外的判定には:
- ファイル拡張子
- ファイルの置き場所
- 設定ファイル/環境変数/コマンドオプションなど
さらに、実行系がブラウザ内蔵かスタンドアロンコマンド(nodeなど)かで違う。