はじめに
TypeScriptで開発を始めるには、適切な開発環境の構築が不可欠です。本記事では、Node.jsのインストールからTypeScriptコンパイラのセットアップ、VS Codeの設定まで、TypeScript開発環境を一から構築する手順を解説します。
TypeScriptはブラウザで直接実行できないため、JavaScriptへのコンパイルが必要です。この記事では、コンパイルして実行する標準的な方法に加えて、ts-nodeやNode.js 22以降のネイティブTypeScript実行機能など、開発効率を高める即時実行環境についても紹介します。
本記事を読むことで、以下のことができるようになります。
- Node.jsとnpmの適切なバージョン管理
- TypeScriptコンパイラのインストールと基本的な使い方
- tsconfig.jsonによるプロジェクト設定
- VS Codeの推奨拡張機能のセットアップ
- ts-nodeやNode.jsネイティブ機能を使った即時実行環境の構築
実行環境・前提条件
前提知識
- コマンドライン(ターミナル)の基本操作
- JavaScriptの基本構文の理解
- TypeScriptの基本概念(型注釈など)の理解があると望ましい
動作確認環境
本記事の内容は、以下の環境で動作確認を行っています。
| ソフトウェア | バージョン |
|---|---|
| OS | Windows 11 / macOS Sonoma / Ubuntu 24.04 |
| Node.js | 22.x LTS(推奨)または 24.x |
| npm | 10.x 以上 |
| TypeScript | 5.7 以上 |
| VS Code | 1.96 以上 |
期待される結果
本記事の手順を完了すると、以下の状態になります。
- TypeScriptファイル(.ts)をJavaScriptにコンパイルして実行できる
- ts-nodeを使ってTypeScriptを直接実行できる
- VS Codeでリアルタイムの型チェックとコード補完が動作する
Node.jsのインストール
TypeScript開発にはNode.jsが必須です。Node.jsをインストールすると、パッケージマネージャのnpmも同時にインストールされます。
公式インストーラを使う方法
Node.js公式サイトからインストーラをダウンロードする方法が最もシンプルです。
- Node.js公式サイトにアクセス
- LTS(Long Term Support)版をダウンロード
- インストーラを実行し、画面の指示に従ってインストール
インストール完了後、ターミナルでバージョンを確認します。
|
|
バージョン管理ツールを使う方法(推奨)
複数のプロジェクトで異なるNode.jsバージョンを使い分ける場合は、バージョン管理ツールの利用を推奨します。
Windowsの場合:fnm(Fast Node Manager)
PowerShellで以下を実行します。
|
|
macOS / Linuxの場合:fnm
|
|
バージョン管理ツールを使うメリットは以下の通りです。
- プロジェクトごとにNode.jsバージョンを切り替えられる
.node-versionファイルでチームメンバーとバージョンを統一できる- sudo権限なしでグローバルパッケージをインストールできる
TypeScriptコンパイラのセットアップ
Node.jsをインストールしたら、TypeScriptコンパイラ(tsc)をセットアップします。
グローバルインストール
システム全体でTypeScriptを使えるようにするには、グローバルインストールを行います。
|
|
グローバルインストールは手軽ですが、プロジェクトごとにバージョンを管理できないデメリットがあります。
プロジェクトローカルインストール(推奨)
チーム開発では、プロジェクトごとにTypeScriptをインストールする方法を推奨します。
|
|
npxコマンドを使うと、ローカルにインストールされたTypeScriptコンパイラを実行できます。この方法のメリットは以下の通りです。
package.jsonでバージョンが明示され、チームで統一できるnpm installで同じバージョンが再現できる- プロジェクトごとに異なるバージョンを使い分けられる
TypeScriptコンパイラの基本的な使い方
TypeScriptファイルを作成し、コンパイルしてみましょう。
|
|
src/hello.tsファイルを作成します。
|
|
コンパイルして実行します。
|
|
実行結果は以下のようになります。
Hello, TypeScript!
1 + 2 = 3
tsconfig.jsonの設定
プロジェクトでTypeScriptを使う場合、tsconfig.jsonでコンパイラオプションを設定します。
tsconfig.jsonの初期化
以下のコマンドで基本的なtsconfig.jsonを生成できます。
|
|
このコマンドを実行すると、多数のオプションがコメントアウトされたtsconfig.jsonが生成されます。
推奨される基本設定
2025年現在のモダンなTypeScript開発では、以下の設定を推奨します。
|
|
主要なコンパイラオプションの解説
各オプションの役割を理解しておくと、プロジェクトに合わせた調整ができます。
| オプション | 説明 | 推奨値 |
|---|---|---|
target |
出力するJavaScriptのバージョン | ES2022 |
module |
モジュールシステム | NodeNext |
strict |
すべての厳格オプションを有効化 | true |
outDir |
コンパイル結果の出力先 | ./dist |
rootDir |
ソースファイルのルート | ./src |
sourceMap |
デバッグ用マップファイル生成 | true |
strict: trueを設定すると、以下のオプションがすべて有効になります。
noImplicitAny- 暗黙的なany型を禁止strictNullChecks- null/undefinedの厳格チェックstrictFunctionTypes- 関数の型を厳格にチェックstrictBindCallApply- bind/call/applyの型チェックstrictPropertyInitialization- クラスプロパティの初期化チェックnoImplicitThis- 暗黙的なthisを禁止alwaysStrict- すべてのファイルをstrictモードで出力
ビルドスクリプトの設定
package.jsonにビルドスクリプトを追加すると便利です。
|
|
これで以下のコマンドが使えるようになります。
|
|
VS Codeの推奨拡張機能
VS CodeはTypeScript開発に最適なエディタです。追加の拡張機能をインストールすることで、さらに開発効率が向上します。
必須の拡張機能
VS Codeには標準でTypeScript言語サポートが組み込まれていますが、以下の拡張機能を追加することで開発体験が向上します。
1. ESLint
コード品質とスタイルをチェックするリンターです。TypeScriptプロジェクトでも活用できます。
|
|
2. Prettier - Code formatter
コードフォーマッタで、チーム内のコードスタイルを統一できます。
|
|
.prettierrcファイルを作成します。
|
|
3. Error Lens
エラーや警告をエディタの行末にインラインで表示します。問題を素早く発見できるようになります。
推奨のワークスペース設定
プロジェクトルートに.vscode/settings.jsonを作成し、チームで共有する設定を記述します。
|
|
最後のtypescript.tsdk設定は、ワークスペースにインストールされたTypeScriptを使用するよう指定しています。これにより、VS Codeの内蔵TypeScriptではなく、プロジェクトで指定したバージョンが使用されます。
推奨拡張機能の共有
.vscode/extensions.jsonを作成すると、プロジェクトを開いた際に推奨拡張機能のインストールを促すことができます。
|
|
TypeScript即時実行環境の構築
開発中は、毎回コンパイルしてから実行するのは手間がかかります。TypeScriptを直接実行できる環境を構築しましょう。
ts-nodeを使う方法
ts-nodeは、TypeScriptをその場でコンパイルして実行するツールです。
|
|
package.jsonにスクリプトを追加します。
|
|
ts-nodeはREPL(対話型実行環境)としても使用できます。
|
|
tsx(高速なts-node代替)
tsxは、esbuildをベースにした高速なTypeScript実行ツールです。ts-nodeよりも起動が速く、設定も簡単です。
|
|
package.jsonにスクリプトを追加します。
|
|
Node.js 22以降のネイティブTypeScript実行
Node.js 22.6.0以降では、TypeScriptを直接実行する機能が実験的に導入されています。Node.js 22.18.0以降では、erasable TypeScript syntaxのみを使用している場合、フラグなしで実行できます。
|
|
この機能は「型ストリッピング」と呼ばれ、TypeScriptの型情報を削除してJavaScriptとして実行します。ただし、以下の制約があります。
enumやnamespaceなどのTypeScript固有の構文は使用不可(--experimental-transform-typesフラグで有効化可能)- tsconfig.jsonの設定は使用されない
- 型チェックは行われない(別途
tsc --noEmitで確認が必要)
開発時の素早い確認には便利ですが、本格的な開発では引き続きts-nodeやtsxの使用を推奨します。
プロジェクト構成の全体像
ここまでの設定を踏まえた、典型的なTypeScriptプロジェクトの構成を示します。
graph TD
A[プロジェクトルート] --> B[src/]
A --> C[dist/]
A --> D[node_modules/]
A --> E[.vscode/]
A --> F[package.json]
A --> G[tsconfig.json]
A --> H[.prettierrc]
B --> B1[index.ts]
B --> B2[utils/]
E --> E1[settings.json]
E --> E2[extensions.json]ディレクトリとファイルの役割は以下の通りです。
| パス | 役割 |
|---|---|
src/ |
TypeScriptソースコード |
dist/ |
コンパイル後のJavaScript(gitignore推奨) |
node_modules/ |
依存パッケージ |
.vscode/ |
VS Codeのプロジェクト設定 |
package.json |
プロジェクト設定と依存関係 |
tsconfig.json |
TypeScriptコンパイラ設定 |
.prettierrc |
Prettierの設定 |
まとめ
本記事では、TypeScript開発環境の構築について、Node.jsのインストールからVS Codeの設定まで一通り解説しました。
ポイントを振り返ると以下の通りです。
- Node.jsはfnmなどのバージョン管理ツールでインストールすると、プロジェクト間でバージョンを使い分けられる
- TypeScriptはプロジェクトローカルにインストールし、
npx tscで実行する - tsconfig.jsonでは
strict: trueを有効にして、型安全性を高める - VS CodeのESLint、Prettier、Error Lensなどの拡張機能で開発効率を向上させる
- 即時実行にはts-nodeやtsx、Node.js 22以降のネイティブ実行を活用する
次のステップとして、TypeScriptの基本型や関数の型定義について学習を進めてみてください。