TypeScriptで始めるNodeJS

最近話題のTypeScript。

とっつきにくいと感じている方いるのでは多いのではないでしょうか。

Typescriptのフロントエンドに関する情報は結構溢れているのに対し、バックエンドの情報は少ない印象です。

そこで、TypeScriptを使ってNodeJS開発を進める環境構築の部分を紹介していこうかと思います。

今後アプリの作成などもやっていく予定です。

NodeJSのインストール

STEP
安定版(LTS:ロングタイムサポート)をダウンロード

NodeJS公式からNodeJSをインストールしましょう。

※最新版は特に理由がなければDL非推奨です。

STEP
pkgファイルを起動してインストール

「続ける」や「次へ」などを押してインストールを完了してください。

STEP
ターミナルを開いてバージョン確認コマンドを実行
node -v

下図のようにバージョンが表示されていればOK。

(最新機能の確認の為画像内では最新版のバージョンにしています)

NodeJSプロジェクト作成

下記手順の赤字箇所は適宜読み替えてください

STEP
フォルダを作成

フォルダ作成コマンド

mkdir path/to/フォルダ名(プロジェクト名)
STEP
フォルダに移動

フォルダ移動コマンド

cd path/to/フォルダ名(プロジェクト名)
STEP
プロジェクト作成(初期化)

プロジェクト作成コマンド

-yのオプションで色々聞かれる質問をすべて初期値で設定するように指示しています。

npm init -y
STEP
package.jsonが作成されていることを確認

ディレクトリの内容一覧表示コマンド

絶対パスでの指定

ls path/to/フォルダ名(プロジェクト名)

プロジェクトフォルダから実行する場合

ls

実行結果にpackage.jsonが表示されていれば設定ファイルの作成成功です。

Typescriptをインストール

CLIの現在地がNodeJSプロジェクト作成で作成したフォルダにいることを確認して、下記コマンドを実行する。

npm install typescript --save-dev

グローバル(システム全体)環境にTypescriptをインストールしたい場合は下記コマンドを実行。

npm install -g typescript

グローバル(システム全体)にインストールするメリットはコンパイルコマンドが省略されることです。

・プロジェクト内限定の場合

npx tsc

・グローバル(システム全体)にインストール

tsc

コンパイラの設定

STEP
初期化コマンドを実行
tsc --init
STEP
tsconfig.jsonが作成されていることを確認する

ディレクトリの内容一覧表示コマンド

絶対パスでの指定

ls path/to/フォルダ名(プロジェクト名)

プロジェクトフォルダから実行する場合

ls

実行結果にtsconfig.jsonが表示されていればコンパイラ設定ファイルの作成成功です。

STEP
tsconfig.jsonの推奨設定を確認

こちらからNodeのおすすめコンパイル設定を確認。

Typescriptの開発元のMicrosoftの推奨設定となります。

今回はNodeJSのインストールで22.13.0をインストールしているのでNodeの20系列の推奨を確認します。

STEP
エディターでtsconfig.jsonを開き上記手順の設定値に変更する

大きな変更が無い限り下図の左端に記載されている行数を参考に修正箇所を特定してもらえれば大丈夫だと思います。

個人的には下記の設定も追加してファイル整理をするのが好み
“rootDir”: “./src”」:typescriptファイルを整理していく場所
“outDir”: “./dist”」:コンパイル後の出力先

便利なパッケージのインストール

前提を下図のようなフォルダ構成として説明していきます。

NodeJS標準機能に対する型付け

NodeJSで標準搭載されている値に型を付けるためにパッケージインストールコマンドを実行します

npm install --save-dev @types/node

コンパイルと実行を同時に行う

ts-nodeというパッケージを使用することでコンパイルで使う「tsc(npx tsc)」とjs実行コマンド「node xxx.js」という2つのコマンドを一気に実行することが出来るようになります。

npm install --save-dev ts-node

上記をインストール後にpackage.jsonでコマンド登録しておいてあげると便利です。

  "scripts": {
    "dev": "ts-node sample.ts",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

devの部分はnpm run xxxの[xxx]に当たります。

npm run dev

とコマンドを入力すると、devをキーとした値がコマンドの実態として実行されます。

コード修正時に変更内容をすぐ確認出来るようにする

nodemonというパッケージを使用することで、tsc -wなどのウォッチモードで再コンパイルされた際に、

nodeコマンドを再実行するような事もできます。

npm install --save-dev nodemon

nodemonとts-nodeをインストールしている場合、以下のようにTSファイルを直指定してに登録できます。

"scripts": {
    "dev": "nodemon sample.ts",
    "test": "echo \"Error: no test specified\" && exit 1"
  },

TypescriptではEsモジュールシステムを使おう

commonJSは2015年前から存在していたnodeJSのモジュールシステムです。

そのため、Typescriptの型定義などに対応していません。

Typescriptの最大の強みを活かすためにも、

モジュールのシステムはECMAScriptモジュールシステム(ESモジュール)方式で記載しましょう。

# commonJSの書き方
const variable = require('module');

# ESModuleの書き方
# パターン①
import module from 'package';
# パターン②
import app = require('package');
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次