← 用語集一覧へ戻る

Node.js

Node.js
JavaScriptをブラウザ外(サーバーやPC上)で動かすための実行環境のこと。
Node.js (Node.js)

概要(サマリー)

Node.jsとは、JavaScriptをブラウザの外で動かすための実行環境のことである。

JavaScriptはWebブラウザで動く言語として広く使われてきたが、Node.jsを使うとパソコン上で直接JavaScriptを実行したり、Webサーバーを作ったりできるようになる。フロントエンドもバックエンドも同じ言語で書けることから、特にWebアプリ開発で広く使われている。AIコーディングツール(Claude・Cursorなど)の多くも、Node.jsが動く環境で使われることが多い。

詳細解説

Node.jsとは何か

JavaScriptはもともとブラウザ上でWebページを動かすために作られた言語だ。しかし2009年にNode.jsが登場し、「JavaScriptをブラウザの外でも動かせる」ようになった。

Node.jsはGoogleのChrome V8エンジンをベースにしており、高いパフォーマンスを持つ。現在ではWebサーバーの構築、コマンドラインツールの作成、ビルドツール(WebpackやViteなど)の実行基盤として幅広く使われている。

なぜ Node.js が必要か

Webフロントエンド開発において、Node.jsは以下の場面で必要になる。

  • npm / pnpm などのパッケージマネージャーの実行:ライブラリのインストールや管理に必須
  • ビルドツールの実行:Vite・webpack・esbuildなどはNode.js上で動く
  • TypeScriptのコンパイル:TypeScriptをJavaScriptに変換するコンパイラもNode.jsで動く
  • 開発用ローカルサーバーの起動npm run dev などのコマンドはNode.jsが処理する

つまり、ReactやViteなどを使う現代的なフロントエンド開発では、Node.jsのインストールがほぼ必須になる。

インストールと基本的な使い方

Node.jsは公式サイト(nodejs.org)からインストーラーをダウンロードしてインストールできる。LTS(Long Term Support)バージョンが安定版として推奨される。

インストール後、ターミナルで以下のコマンドでバージョンを確認できる。

node -v   # Node.jsのバージョン確認
npm -v    # npmのバージョン確認

JavaScriptファイルを実行するには以下のように使う。

node app.js

Node.jsでサーバーを作る(簡単な例)

Node.jsを使うと、ブラウザからのリクエストに応答するWebサーバーをJavaScriptで作れる。

const http = require('http');

const server = http.createServer(function(req, res) {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello, Node.js!');
});

server.listen(3000, function() {
  console.log('サーバーが起動しました: http://localhost:3000');
});

このコードを実行すると localhost の3000番ポートでサーバーが起動し、ブラウザでアクセスすると「Hello, Node.js!」と表示される。

バージョン管理ツール(nvm・fnm)

複数のプロジェクトで異なるバージョンのNode.jsを使いたい場合、nvm(Node Version Manager)や fnm というツールが便利だ。プロジェクトごとにNode.jsのバージョンを切り替えられる。

AIコーディングとの関係

Node.jsはAIコーディング環境の基盤となっていることが多い。VS CodeやCursorなどのエディタ拡張機能、AIが生成したコードを動かすためのビルドツール、サーバーサイドAPIなど、多くのものがNode.js上で動作している。

AIへの効果的な指示の例:
- 「Node.js(Express)を使って簡単なAPIサーバーを作ってください」
- 「Node.jsのバージョンが古いと言われました。バージョンアップの手順を教えてください」
- 「このNode.jsのエラーメッセージを見て、原因と対処法を教えてください」
- 「npm run dev を実行すると起動するローカル開発環境の設定方法を教えてください」

デプロイ時にも「Node.jsのバージョンを合わせる」「依存関係を正しくインストールする」といった手順が必要になることがあり、Node.jsの基本を知っているとスムーズに対応できる。

よくある勘違い

Node.js = JavaScript?

Node.jsはJavaScriptを動かすための「実行環境(ランタイム)」であり、JavaScriptそのものではない。「JavaScriptという言語」を「Node.jsという実行基盤の上で動かす」という関係だ。ブラウザも同様にJavaScriptの実行環境だが、使えるAPIや機能が異なる(例:Node.jsでは window オブジェクトが存在しない)。

Node.jsはサーバーサイド専用?

「Node.jsはバックエンド用」というイメージを持たれがちだが、フロントエンド開発の環境構築にも必須だ。Vite・Webpack・TypeScriptなどはすべてNode.js上で動く。バックエンドAPIを作らなくても、フロントエンド開発にはNode.jsが必要な場面が多い。

npmは別途インストールが必要?

Node.jsをインストールすると、通常はnpmも同時にインストールされる。別途インストールする必要はほとんどない。ただし、パフォーマンスや機能面で pnpmyarn を選ぶチームもある。

まとめ

  • Node.jsとは、JavaScriptをブラウザの外(サーバーやPC)で動かすための実行環境のことである
  • フロントエンド開発においてもビルドツールやnpmの実行に必須であり、Web開発者の基本インフラとなっている
  • インストール後は node -v でバージョンを確認でき、.js ファイルを直接実行できる
  • 複数プロジェクトを管理する場合はnvmやfnmなどのバージョン管理ツールが便利
  • AIコーディング環境の多くがNode.jsを基盤として動いているため、基本的な理解は欠かせない

情報ソース

より詳しくAIに聞いてみよう

  • Node.jsとJavaScriptの違いを、初心者でもわかるように説明してください。
  • Node.jsをインストールしてHello Worldを表示するまでの手順を教えてください。
  • nvm(Node Version Manager)を使ってNode.jsのバージョンを管理する方法を教えてください。
  • Node.jsとnpmの関係を整理して、フロントエンド開発でどう使われるか教えてください。
  • AIにNode.jsのAPIサーバーを作ってもらうときの効果的な指示の出し方を教えてください。