TypeScriptで"SyntaxError: Unexpected identifier "と言われたら

以下のようなエラーにさいなまれた際の対応方法。

SyntaxError: Unexpected identifier
or
SyntaxError: Unexpected *
or
SyntaxError: Unexpected token import

この問題が発生する原因は、トランスパイルされた js ファイルをNodeが実行できないため。

試しに、 node トランスパイルされたjsのエントリファイル で、そのファイルを実行してみるとよい。同じエラーがでる。

tsconfig.jsoncompilerOptionsmodule の値を esX(Xは任意の値) から commonjs に変更すると、実行環境のNodeが実行できる出力になる。