[TypeScript] FAQ

targetやmodule系の設定違いが分からない

設定名 意味 個人的推奨
target コンパイル後のjsコードをどの仕様にするか es2015. レガシー環境ならes5
module moduleの読みこみをどのように表現するか nodejsならcommon. それ以外ならデフォルト1
moduleResolution module解決方法の指定 デフォルト2
esModuleInterop import * as A from 'a'* as を省略可能 true

tsconfig.jsonが読み込まれない

tscコマンドでファイルを指定した場合、古いバージョンのtscではtsconfig.jsonが暗黙的に読み込まれない。

どうしても指定したい場合の方法は分からず..

TS2307: Cannot find module 'lodash'.

グローバルの古いtscを使っているケース

間違ってグローバルの古いtscを使っている場合はプロジェクトのtscを使うこと。(npm or npx)

定義ファイルを読み込んでいないケース

$ npm i -D @types/lodash

  1. targetがES2015より前ならCommonJS、そうでないならES6 

  2. targetがAMD or System or ES6ならClassic、そうでないならNode