かきスタンプ

福岡でフリーランスの物流系のエンジニアやってます。

TypeScript:外部モジュールを含めたソースのコンパイル方法と、実行時の注意点

TypeScriptでは、外部モジュールを含めてコンパイルする場合、「-m」オプションを使用します。
(オプションを指定しない場合、別々の jsファイルが生成される。)

(例:コンパイル CommonJS方式)
tsc sample01.ts -m commonjs

(例:コンパイル AMD方式)
tsc sample01.ts -m amd

Node.jsで実行する場合、node sample01.js といった実行コマンドとなる。
が、Node.jsは CommonJSを採用し、AMD方式はサポートしていないので、後者の場合はエラーが発生する。
(つまり、Node.jsで実行する場合は CommonJSに限定される。)

とはいえ、CommonJSは直接ブラウザで動かす事を前提としていないので、外部モジュールが必要なTypeScriptソースを、コンソールからNode.jsを使ってサクッと実行するのは止めといた方が良さそう。

ちゃんと開発する場合は、CommonJS方式で書き、Webpackでブラウザで動くコードにビルドする方法になるかと思うけど、サンプルコードとはいえ、ある程度の規模になったら、そうした方がいいんかな。