Web開発やサーバー構築の分野で、「Node.js(ノードジェイエス)」という言葉をよく聞きませんか?
でも、プログラミングを始めたばかりの方にとっては、こんな疑問があると思います:
- 「Node.jsって、そもそも何?」
- 「どんなことができるの?」
- 「むずかしそうだけど、初心者でも使える?」
- 「JavaScriptとは何がちがうの?」
この記事では、Node.jsの基本的な仕組みから、できること、実際の始め方まで、初心者の方でも理解できるようにやさしく説明します。
むずかしい専門用語は使わず、実際に試せる方法をお教えしますので、安心してついてきてくださいね。
Node.jsとは何か?

かんたんに説明すると
Node.jsとは、「JavaScriptというプログラミング言語を、いろいろな場所で使えるようにするソフト」です。
普通のJavaScript:
- Webブラウザーの中でしか動かない
- ホームページの動きを作るのに使う
- ボタンを押したときの反応など
Node.jsがあると:
- パソコンで直接JavaScriptが動く
- サーバーを作ることができる
- いろいろなツールを作れる
もう少し詳しく
JavaScriptの歴史: 1995年にWebページを動かすために作られた言語です。最初はブラウザーでしか使えませんでした。
Node.jsの誕生: 2009年に、「JavaScriptをブラウザー以外でも使いたい!」という思いから作られました。
なぜ人気になったの?:
- 一つの言語(JavaScript)でいろいろなことができる
- 学習コストが低い(新しい言語を覚える必要がない)
- たくさんの便利なツールが使える
- 動作が速い
身近な例で理解しよう
料理に例えると:
- JavaScript:包丁(調理道具)
- ブラウザー:キッチン(普通の調理場所)
- Node.js:どこでも使える魔法の調理台
普通なら包丁はキッチンでしか使えませんが、魔法の調理台があれば、どこでも料理ができるようになります。
Node.jsの特徴
1. 非同期処理が得意:
- いくつものことを同時に処理できる
- 一つの作業を待たずに、次の作業を始められる
- チャットアプリなどリアルタイムな通信に向いている
2. 軽量で高速:
- メモリをあまり使わない
- 処理が速い
- たくさんの人が同時にアクセスしても大丈夫
3. 豊富なライブラリ:
- npm(エヌピーエム)という仕組みで、便利なツールをかんたんに追加できる
- 世界中の開発者が作ったツールを無料で使える
どんな会社が使っているの?
有名なサービス:
- Netflix(動画配信)
- Uber(配車サービス)
- PayPal(決済サービス)
- LINE(メッセージアプリ)
- メルカリ(フリマアプリ)
これらの大きなサービスでも、Node.jsが使われています。
まとめ
Node.jsは、JavaScriptをより広い場面で活用できるようにする実行環境です。次は、Node.jsでどんなことができるのかを具体的に見てみましょう。
Node.jsでできること

Webサーバーの構築
Webサーバーとは?: インターネット上でWebサイトを表示するためのコンピューターです。
Node.jsでできること:
- 自分だけのWebサイトを作る
- APIという仕組みでデータをやり取りする
- ユーザーの登録やログイン機能を作る
簡単な例:
// かんたんなWebサーバー
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
res.end('こんにちは!Node.jsサーバーです');
});
server.listen(3000, () => {
console.log('サーバーが起動しました: http://localhost:3000');
});
REST APIの開発
APIとは?: アプリ同士が情報をやり取りするための仕組みです。
実際の例:
- 天気予報アプリが天気データを取得
- SNSアプリが投稿を表示
- ECサイトが商品情報を管理
Node.jsでAPIを作ると:
- スマホアプリとWebサイトで同じデータを使える
- 他のサービスと連携できる
- 効率的なシステムが作れる
リアルタイム通信アプリ
リアルタイム通信とは?: メッセージを送ったら、すぐに相手に届く仕組みです。
Node.jsが得意な理由:
- 同時にたくさんの人とやり取りできる
- メッセージの送受信が速い
- メモリを効率的に使える
作れるアプリの例:
- チャットアプリ
- オンラインゲーム
- リアルタイム株価表示
- 共同編集ツール(Google Docsのような)
自動化ツール(CLIアプリ)
自動化ツールとは?: 面倒な作業を自動でやってくれるプログラムです。
作れるツールの例:
- ファイルの整理
- データの変換
- レポートの自動生成
- バックアップの作成
- 画像のリサイズ
実際のコード例:
// ファイル一覧を表示するツール
const fs = require('fs');
fs.readdir('.', (err, files) => {
if (err) {
console.log('エラーが発生しました');
return;
}
console.log('このフォルダーにあるファイル:');
files.forEach(file => {
console.log('- ' + file);
});
});
フロントエンド開発支援
フロントエンドとは?: ユーザーが直接見る画面の部分です。
Node.jsでできる支援:
- コードの圧縮や最適化
- ファイルの自動変換
- 開発用サーバーの起動
- コードの品質チェック
よく使われるツール:
- Webpack:ファイルをまとめて最適化
- Gulp:作業の自動化
- Parcel:簡単にビルド環境を作成
- Vite:高速な開発サーバー
データ処理とバッチ処理
バッチ処理とは?: 大量のデータを一度にまとめて処理することです。
Node.jsでできること:
- CSVファイルの読み込みと変換
- データベースのデータ移行
- レポートの自動生成
- 画像や動画の一括処理
IoT(モノのインターネット)
IoTとは?: いろいろなモノがインターネットにつながる仕組みです。
Node.jsでできること:
- センサーのデータ収集
- ラズベリーパイなどの小型コンピューターでの動作
- スマートホームの制御
- 温度や湿度の監視システム
デスクトップアプリの開発
Electronという技術: Node.jsとWebの技術で、デスクトップアプリを作れます。
実際に作られたアプリ:
- Visual Studio Code(プログラムエディター)
- Discord(チャットアプリ)
- Slack(ビジネスチャット)
- WhatsApp Desktop
まとめ
Node.jsは本当にいろいろなことができる、万能なツールです。幅広い活用が可能なNode.js。次は、実際にどのようにインストールして使い始めるかを解説しますね。
Node.jsのインストール方法(Windows・Mac共通)

公式サイトからダウンロード
正しいダウンロード先:
- URL:https://nodejs.org/
- 公式サイト以外からはダウンロードしないでください
- 偽物のサイトに注意
バージョンの選び方
LTS版(推奨):
- LTS = Long Term Support(長期サポート)
- 安定していて安全
- 初心者の方はこちらを選んでください
- 緑色のボタンで表示されることが多い
Current版:
- 最新機能が使える
- まだ実験的な機能も含む
- 上級者向け
どっちを選べばいい?: 迷ったら、必ずLTS版を選んでください。安定していて、問題が起きにくいです。
Windows でのインストール手順
1. ダウンロード:
- 公式サイトにアクセス
- 「Windows Installer」をクリック
- ファイルがダウンロードされるまで待つ
2. インストール実行:
- ダウンロードしたファイルをダブルクリック
- 「このアプリがデバイスに変更を加えることを許可しますか?」→「はい」
- インストーラーが起動
3. インストール設定:
- 「Next」を何回かクリック
- 「Add to PATH」にチェックが入っていることを確認(重要!)
- 「Install」をクリック
4. インストール完了:
- 「Finish」をクリック
- パソコンを再起動(推奨)
Mac でのインストール手順
1. ダウンロード:
- 公式サイトにアクセス
- 「macOS Installer」をクリック
- .pkgファイルがダウンロード
2. インストール実行:
- ダウンロードした.pkgファイルをダブルクリック
- 「開く」をクリック(セキュリティ警告が出た場合)
3. インストール設定:
- 「続ける」を何回かクリック
- 管理者パスワードを入力
- 「インストール」をクリック
4. インストール完了:
- 「閉じる」をクリック
- ターミナルを再起動
インストール確認
コマンドプロンプト(Windows)またはターミナル(Mac)を開いて、以下を実行:
node -v
正常にインストールされていれば:
v18.17.0
のようにバージョン番号が表示されます。
npmの確認:
npm -v
正常であれば:
9.6.7
のようにバージョン番号が表示されます。
よくあるインストールの問題
問題1:「nodeコマンドが見つかりません」
- 原因:PATHが設定されていない
- 解決方法:Node.jsを再インストール(Add to PATHにチェック)
問題2:古いバージョンが表示される
- 原因:古いNode.jsが残っている
- 解決方法:古いバージョンをアンインストールしてから再インストール
問題3:Macで権限エラー
- 原因:管理者権限が必要
- 解決方法:sudoコマンドを使う、または管理者に相談
Node.jsと一緒にインストールされるもの
npm(エヌピーエム):
- Node Package Manager
- ライブラリやツールを管理するソフト
- Node.jsと一緒に自動でインストールされる
npx(エヌピーエックス):
- パッケージを一時的に実行するツール
- npm 5.2.0以降に自動で含まれる
バージョン管理ツール(上級者向け)
nvm(Node Version Manager):
- 複数のNode.jsバージョンを切り替えられる
- プロジェクトごとに異なるバージョンを使える
- 初心者の方は、まず普通のインストールで慣れてから
Windows用:nvm-windows Mac/Linux用:nvm
開発環境の準備
エディター:
- Visual Studio Code(無料、推奨)
- Atom(無料)
- Sublime Text(有料)
ターミナル:
- Windows:PowerShell、Command Prompt
- Mac:Terminal、iTerm2
まとめ
インストールが完了すれば、すぐにJavaScriptファイルを実行できるようになります。
次は、簡単なプログラムを書いて実行してみましょう。
Node.jsで最初のプログラムを実行しよう

準備:フォルダーとファイルを作る
1. 作業用フォルダーを作る:
- デスクトップに「nodejs-practice」というフォルダーを作成
- 分かりやすい場所に作ることが大切
2. ファイルを作る:
- フォルダーの中に「hello.js」というファイルを作成
- 拡張子「.js」を忘れずに
最初のプログラム
hello.jsファイルの中身:
// これはコメントです(プログラムには影響しません)
console.log("こんにちは、Node.js!");
console.log("私の最初のNode.jsプログラムです");
コードの説明:
console.log()
:画面に文字を表示する命令""
(ダブルクォート):文字列を囲む記号;
(セミコロン):命令の終わりを示す
プログラムの実行方法
1. コマンドプロンプト/ターミナルを開く:
- Windows:「Win + R」→「cmd」→Enter
- Mac:「Command + Space」→「terminal」→Enter
2. 作業フォルダーに移動:
cd Desktop/nodejs-practice
3. プログラムを実行:
node hello.js
4. 結果を確認:
こんにちは、Node.js!
私の最初のNode.jsプログラムです
もう少し面白いプログラム
計算をするプログラム(calc.js):
// 変数を使って計算
let num1 = 10;
let num2 = 5;
console.log("足し算:", num1 + num2);
console.log("引き算:", num1 - num2);
console.log("掛け算:", num1 * num2);
console.log("割り算:", num1 / num2);
現在時刻を表示するプログラム(time.js):
// 現在の日時を取得
let now = new Date();
console.log("現在の時刻:", now);
console.log("年:", now.getFullYear());
console.log("月:", now.getMonth() + 1); // 月は0から始まるので+1
console.log("日:", now.getDate());
ユーザーからの入力を受け取る
interactive.js:
// readlineモジュールを使う
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// 名前を聞く
rl.question('あなたの名前を教えてください: ', (name) => {
console.log(`こんにちは、${name}さん!`);
// 年齢を聞く
rl.question('年齢を教えてください: ', (age) => {
console.log(`${name}さんは${age}歳なんですね!`);
rl.close();
});
});
ファイル操作をしてみる
file-example.js:
// ファイル操作のモジュール
const fs = require('fs');
// テキストファイルを作成
const message = "これはNode.jsで作成したファイルです!\n今日は楽しい学習日です。";
fs.writeFile('message.txt', message, (err) => {
if (err) {
console.log('ファイルの作成でエラーが発生しました:', err);
} else {
console.log('message.txtファイルを作成しました!');
// 作成したファイルを読み込み
fs.readFile('message.txt', 'utf8', (err, data) => {
if (err) {
console.log('ファイルの読み込みでエラーが発生しました:', err);
} else {
console.log('ファイルの内容:');
console.log(data);
}
});
}
});
エラーが出た時の対処法
よくあるエラー:
1. 「node: command not found」
- 原因:Node.jsがインストールされていない、またはPATHが設定されていない
- 解決:Node.jsを再インストール
2. 「cannot find file」
- 原因:ファイル名やパスがまちがっている
- 解決:ファイル名とフォルダーの場所を確認
3. 「SyntaxError」
- 原因:コードの書き方がまちがっている
- 解決:コードを見直し、セミコロンや括弧をチェック
デバッグのコツ
1. console.logをたくさん使う:
let x = 10;
console.log("xの値:", x); // 値を確認
let y = x * 2;
console.log("yの値:", y); // 計算結果を確認
2. 一行ずつ実行して確認:
- 長いプログラムは小さく分けて動作確認
- 問題がある部分を特定しやすくする
3. エラーメッセージをよく読む:
- エラーメッセージには解決のヒントが含まれている
- 分からない単語は調べる
練習問題
問題1:簡単な自己紹介プログラム 名前、年齢、好きな食べ物を表示するプログラムを作ってみましょう。
問題2:簡単な計算機 2つの数値を足し算、引き算、掛け算、割り算する計算機を作ってみましょう。
問題3:今日の予定表示 今日の日付と「今日の予定:Node.jsの学習」を表示するプログラムを作ってみましょう。
まとめ
このように、ファイル1つでスクリプトの実行が可能なので、学習効率がとても高いのがNode.jsの魅力です。Node.jsの実行環境が整えば、さまざまなツールやライブラリも活用できます。次は「npm」について紹介しますね。
npmでライブラリを管理しよう

npmとは何か?
npm(エヌピーエム):
- Node Package Managerの略
- Node.js用のライブラリやツールを管理するソフト
- Node.jsをインストールすると自動で付いてくる
ライブラリとは?:
- 他の人が作った便利なプログラムの部品
- 自分で一から作らなくても、既にあるものを使える
- 時間の節約と品質の向上ができる
npmの基本的な使い方
パッケージのインストール:
npm install パッケージ名
例:人気のWebフレームワーク「Express」をインストール:
npm install express
グローバルインストール(全体で使えるようにする):
npm install -g パッケージ名
パッケージの削除:
npm uninstall パッケージ名
package.jsonファイル
package.jsonとは?:
- プロジェクトの設定ファイル
- 使用するライブラリの一覧が書かれている
- プロジェクトの情報(名前、バージョンなど)を管理
新しいプロジェクトを始める:
npm init
いくつかの質問に答えると、package.jsonファイルが作成されます。
簡単に作成する:
npm init -y
すべてデフォルト値で、すぐにpackage.jsonが作成されます。
実際にExpressを使ってみよう
1. プロジェクトフォルダーを作成:
mkdir my-web-app
cd my-web-app
2. package.jsonを作成:
npm init -y
3. Expressをインストール:
npm install express
4. 簡単なWebサーバーを作成(app.js):
// expressモジュールを読み込み
const express = require('express');
// expressアプリを作成
const app = express();
// ホームページのルート
app.get('/', (req, res) => {
res.send('<h1>こんにちは!Expressサーバーです</h1>');
});
// 自己紹介ページ
app.get('/about', (req, res) => {
res.send('<h1>自己紹介</h1><p>Node.jsとExpressを学習中です!</p>');
});
// サーバーを3000番ポートで起動
app.listen(3000, () => {
console.log('サーバーが起動しました: http://localhost:3000');
});
5. サーバーを起動:
node app.js
6. ブラウザーで確認:
- http://localhost:3000 にアクセス
- 「こんにちは!Expressサーバーです」が表示される
よく使われるnpmパッケージ
Web開発関連:
- express:Webサーバーフレームワーク
- socket.io:リアルタイム通信
- axios:HTTP通信ライブラリ
ユーティリティ:
- lodash:便利な関数がたくさん
- moment:日時の操作
- uuid:ユニークなIDの生成
開発支援:
- nodemon:ファイル変更時に自動再起動
- eslint:コードの品質チェック
- prettier:コードの自動フォーマット
開発を効率化するパッケージ
nodemonを使って自動再起動:
- インストール:
npm install -g nodemon
- 使用方法:
nodemon app.js
ファイルを変更すると、自動でサーバーが再起動されます。
便利なライブラリの例:
colors(文字に色を付ける):
npm install colors
const colors = require('colors');
console.log('成功しました!'.green);
console.log('警告です'.yellow);
console.log('エラーが発生しました'.red);
figlet(大きな文字で表示):
npm install figlet
const figlet = require('figlet');
figlet('Node.js', (err, data) => {
if (err) {
console.log('エラーが発生しました');
return;
}
console.log(data);
});
package.jsonの管理
dependenciesとdevDependencies:
- dependencies:アプリ実行に必要なパッケージ
- devDependencies:開発時のみ必要なパッケージ
開発用パッケージのインストール:
npm install --save-dev パッケージ名
package.jsonの例:
{
"name": "my-web-app",
"version": "1.0.0",
"description": "私の最初のWebアプリ",
"main": "app.js",
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js"
},
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"nodemon": "^3.0.1"
}
}
scriptsの活用
package.jsonのscriptsセクション: よく使うコマンドを短縮して実行できます。
{
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "echo \"テストはまだありません\" && exit 1"
}
}
実行方法:
npm start # node app.js を実行
npm run dev # nodemon app.js を実行
npm test # テストを実行
node_modulesフォルダー
node_modulesとは?:
- インストールしたパッケージが保存される場所
- 自動で作成される
- サイズが大きくなることが多い
注意点:
- Gitなどのバージョン管理にはアップロードしない
- .gitignoreファイルにnode_modulesを追加
.gitignoreファイルの例:
node_modules/
.env
*.log
npmのセキュリティ
脆弱性の確認:
npm audit
自動修復:
npm audit fix
パッケージの更新:
npm update
よくある問題と解決法
問題1:パッケージが見つからない
npm cache clean --force
npm install
問題2:権限エラー(Mac/Linux)
sudo npm install -g パッケージ名
問題3:古いバージョンのnpm
npm install -g npm@latest
まとめ
npmを使えば、プロジェクトの拡張や開発が格段にスムーズになります。世界中の開発者が作った便利なツールを無料で使えるので、効率的にプログラム開発ができます。
次は、これらの知識を使って、もっと実用的なアプリケーションを作ってみましょう!
全体のまとめ
Node.jsは、JavaScriptをより広い領域で活用できる強力なプラットフォームです。
この記事で学んだこと
- Node.jsの基本:JavaScriptをサーバーサイドで動かす実行環境
- 豊富な用途:Webアプリ、API、ツール開発など幅広い活用
- 簡単なインストール:公式サイトからLTS版をダウンロード
- 実際のプログラミング:console.logから始める基本操作
- npmの活用:便利なライブラリで効率的な開発
Node.jsの便利なコマンド集
基本コマンド:
# Node.jsのバージョン確認
node -v
# npmのバージョン確認
npm -v
# JavaScriptファイルの実行
node ファイル名.js
# 対話モード(REPL)の起動
node
npmコマンド:
# プロジェクトの初期化
npm init -y
# パッケージのインストール
npm install パッケージ名
# 開発用パッケージのインストール
npm install --save-dev パッケージ名
# グローバルインストール
npm install -g パッケージ名
# インストール済みパッケージの確認
npm list
# パッケージの更新
npm update
# セキュリティチェック
npm audit
学習リソース
公式ドキュメント:
- Node.js公式サイト:https://nodejs.org/
- npm公式サイト:https://www.npmjs.com/
おすすめの学習サイト:
- MDN Web Docs(JavaScript基礎)
- freeCodeCamp(無料のプログラミング学習)
- Udemy(動画で学習)
- Qiita(日本語の技術記事)
コミュニティ:
- Stack Overflow(技術Q&A)
- GitHub(コードの共有)
- Node.js日本ユーザーグループ
エラー対処法早見表
エラー | 原因 | 解決方法 |
---|---|---|
command not found | PATHが設定されていない | Node.jsを再インストール |
Cannot find module | パッケージがインストールされていない | npm install でパッケージをインストール |
Port already in use | ポートが使用中 | 他のプロセスを停止、または別のポートを使用 |
Permission denied | 権限がない | sudoを使用、または管理者権限で実行 |
SyntaxError | コードの文法エラー | コードを見直し、括弧やセミコロンをチェック |
セキュリティのポイント
開発時の注意:
- 環境変数を使って機密情報を管理
- .envファイルをバージョン管理に含めない
- 定期的にパッケージを更新
- npm auditでセキュリティチェック
本番環境での注意:
- 不要なパッケージは削除
- HTTPSを使用
- 適切なログ記録
- エラー情報の漏洩防止
パフォーマンス最適化
基本的な最適化:
- 不要なconsole.logを削除
- 効率的なアルゴリズムの使用
- メモリリークの防止
- 適切なエラーハンドリング
プロダクション環境:
- プロセスマネージャー(PM2)の使用
- ロードバランシング
- キャッシュの活用
- データベースの最適化
コメント