【入門編】 compilerOptions.outDirとrootDir – TypeScript実践ガイド

こんにちは!TypeScriptの世界へようこそ。
新しい技術を学ぶとき、最初は誰だって「設定ファイル」という見えない壁にぶつかるものです。特に `tsconfig.json` と向き合った瞬間の「何これ、呪文?」という感覚、痛いほどよくわかります。

今日は、その中でも特に重要で、かつ多くの初学者が「あれ?なんでこうなるの?」と迷子になりやすい `rootDir` と `outDir` について、一緒に紐解いていきましょう。

肩の力を抜いて、身近な例え話から入りますね。

—

整理整頓の魔法:rootDirとoutDir

TypeScriptのコンパイル(変換)って、実は「料理」にすごく似ているんです。

  • `rootDir`(冷蔵庫の中身):あなたの材料(ソースコード)がどこに入っているかを決める場所。
  • `outDir`(出来上がったお皿):完成した料理(JavaScript)をどこに盛り付けるかを決める場所。

もし、この「冷蔵庫」と「お皿」の場所を正しく伝えないと、TypeScriptというシェフは、完成した料理を適当な場所に散らばせたり、最悪の場合は作り方を間違えてしまいます。

1. rootDir:材料の隠し場所を教える

`rootDir` は、「ここから先が、コンパイル対象のソースコードだよ!」と指定する場所です。
通常は `src` フォルダを指定することが多いですね。これを設定することで、TypeScriptは無駄なファイルを探し回らずに済みます。

2. outDir:盛り付け先を指定する

`outDir` は、「完成したJavaScriptは、ここにまとめてね!」という指示です。
よく使われるのは `dist`(Distributionの略)という名前のフォルダです。完成品はここにあるものだけを公開すればいいので、プロジェクトがとてもスッキリします。

—

実際に設定してみよう

では、実際に `tsconfig.json` を見てみましょう。エディタを開いて、このように設定してみてください。

{
“compilerOptions”: {
// コンパイル後のJavaScriptを「dist」フォルダに入れるよ!
“outDir”: “./dist”,

// ソースコードは「src」フォルダの中にあるよ!
“rootDir”: “./src”,

// 使うJavaScriptのバージョンやルール(基本セットです)
“target”: “ESNext”,
“module”: “CommonJS”,
“strict”: true
},
// srcフォルダの中身を全部コンパイル対象にするよ!
“include”: [“src//”]
}

なぜこの設定が「伝説的」に大事なのか?

もし `rootDir` を指定しなかったらどうなると思いますか?
TypeScriptは、あなたがプロジェクト内に置いた「メモ帳」や「設定ファイル」まで勝手に解釈して、`dist` フォルダの中に変な階層構造を作ってしまうことがあります。

`rootDir` を指定することで、「srcの中身の構造を、そのままdistにも再現してね」という秩序が生まれるんです。これこそが、大規模な開発になってもプロジェクトが崩壊しないための「守り」の技術なんですよ。

—

つまずきポイント:フォルダが生成されない時は?

「設定したのに、`dist` フォルダができない!」という時、よくある原因は2つです。

1. コマンドを叩いていない:設定ファイルを書くだけでは動きません。ターミナルで `npx tsc` と打って、「さあ、調理開始!」とシェフを呼んであげてください。
2. ファイルが空っぽ:`src` フォルダの中に、一つでも `.ts` ファイルはありますか?何もない冷蔵庫では料理は作れませんからね。

—

最後に:完璧を目指さなくて大丈夫

ここまで読んで「なるほど!」と思えたら、もうあなたはTypeScriptの基本の「型」を一つ身につけたようなものです。

最初は失敗して、フォルダが散らかってもいいんです。その度に「あ、ここを整理すればいいんだな」と気づいていく。それがエンジニアとしてのスキルアップです。

まずは `src` と `dist` というシンプルな構成から始めて、自分だけのプロジェクトを育ててみてください。応援していますよ!

もし何か分からなくなったら、いつでもこのページに戻ってきてくださいね。あなたのコードが、美しくビルドされることを願っています!

コメント

タイトルとURLをコピーしました