MENU
Language

Node.jsとは?インストール方法を解説

Node.js とは、JavaScript をサーバーサイド(バックエンド)で使用するためのランタイム環境です。ブラウザだけで動いていた JavaScript をサーバーサイドでも活用できるようにする仕組みを提供します。

出典:https://nodejs.org/ja

Node.js の主な特徴

  1. 非同期・イベント駆動型
    • Node.js は非同期処理を得意とする設計になっています。これにより、リクエストを並列に処理する性能が高く、サーバーの応答性が向上します。
  2. V8 JavaScript エンジンを使用
    • Google の Chrome ブラウザに搭載されている V8 エンジンを利用しているため、JavaScript の実行速度が非常に速いです。
  3. 単一スレッド
    • Node.js は単一スレッドで動作しますが、内部で非同期 I/O 操作を行うことで効率よく複数のリクエストを処理します。
  4. NPM(Node Package Manager)
    • Node.js のパッケージ管理システムで、数百万以上のパッケージ(モジュール)が利用可能です。これにより、アプリケーションの開発が迅速化します。
  5. クロスプラットフォーム
    • Windows、macOS、Linux など、さまざまな環境で動作します。

Node.js の用途

Web サーバー

const http = require('http');
const server = http.createServer((req, res) => {
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello, World!\n');
});
server.listen(3000, () => {
    console.log('Server running at http://localhost:3000/');
});

リアルタイムアプリケーション

チャットアプリや WebSocket を利用したリアルタイム通信が必要なアプリに最適。

API サーバー

RESTful API や GraphQL API を作成する際に利用されます。

シングルページアプリケーション(SPA)との連携

React、Vue、Angular などのフロントエンドフレームワークと連携し、バックエンドとして利用。

スクリプト・自動化ツール

CLI ツールや自動化スクリプトを作成する際にも使用可能。

マイクロサービス

小規模で独立したサービスを構築するのに適しています。


Node.js を使うメリット

  1. JavaScript 統一
    • フロントエンドとバックエンドの両方を JavaScript で統一できる。
  2. 高速
    • 非同期処理と V8 エンジンにより、高速な処理が可能。
  3. 豊富なモジュール
    • NPM の膨大なパッケージ群により、再利用可能なコードを簡単に利用可能。
  4. アクティブなコミュニティ
    • オープンソースで開発されており、多くの開発者がサポートしています。

Node.js を選ぶべきケース

  • リアルタイム機能が必要(例:チャットアプリ、ゲームサーバー)
  • 軽量なバックエンドアプリケーションを作りたい
  • JavaScript に慣れている
  • フロントエンドとバックエンドを統一したい

注意点

  • CPU 集中型タスクには不向き
    単一スレッドモデルなので、計算が重い処理には適していません。
  • コールバック地獄
    非同期処理の設計によってコードが複雑になることがあるが、現在では async/await の使用で解決可能。
目次

Node.jsの使用方法

以下は基本的なセットアップからコードの実行方法、具体的な活用例までを段階的に説明します。

事前準備

nvmを使用する場合、必要に応じてnvmのバージョンを最新にしてから実行します。
例)v0.40.1 をインストールする

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

1. Node.js のインストール

公式サイト にアクセスします。https://nodejs.org/ja/download

LTS(Long Term Support)バージョンを選択してダウンロードします。
LTS は安定版で、一般的な使用に適しています。プルダウンでご自身の環境に合わせて変更してください。

インストール完了後、以下のコマンドでバージョンを確認します。

node -v
npm -v

node -v: Node.js のバージョンを確認。

npm -v: NPM(Node Package Manager)のバージョンを確認。

(外部サイト)Node.js公式サイト

2. 初めてのスクリプトを作成

任意のフォルダを作成して移動します。

mkdir my-node-app
cd my-node-app

新しいファイルを作成します(例: app.js)。

touch app.js

ファイルにコードを記述します。例えば、Hello World スクリプト:

console.log("Hello, Node.js!");

実行します。

node app.js

結果として、Hello, Node.js! がコンソールに表示されます。

3. HTTP サーバーの作成

Node.js の基本的な用途の一つが、HTTP サーバーの構築です。

app.js に以下のコードを記述:

const http = require("http");

const server = http.createServer((req, res) => {
    res.writeHead(200, { "Content-Type": "text/plain" });
    res.end("Hello, World!\n");
});

server.listen(3000, () => {
    console.log("Server running at http://localhost:3000/");
});

実行します。

node app.js

ブラウザで http://localhost:3000/ にアクセスすると、Hello, World! と表示されます。

4. NPM を使ったパッケージ管理

Node.js の強みの一つは、NPM(Node Package Manager) を使ったライブラリの管理です。

パッケージの初期化

プロジェクトディレクトリで以下を実行して package.json を作成:

npm init -y

このコマンドで、デフォルト設定の package.json が生成されます。

パッケージのインストール

例: 人気のウェブフレームワーク Express をインストール。

npm install express

5. Express を使った Web アプリケーションの作成

app.js を以下の内容に変更します:

const express = require("express");
const app = express();

app.get("/", (req, res) => {
    res.send("Hello, Express!");
});

app.listen(3000, () => {
    console.log("App listening at http://localhost:3000");
});

実行します。

node app.js

ブラウザで http://localhost:3000 にアクセスすると、Hello, Express! と表示されます。

6. 非同期処理の基本

Node.js は非同期処理を得意としています。以下はファイルを読み込む例です。

fs モジュールを使った非同期ファイル読み込み:

const fs = require("fs");

fs.readFile("example.txt", "utf8", (err, data) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log(data);
});

ファイル example.txt を作成し、任意のテキストを記述。

touch example.txt
echo "This is Node.js!" > example.txt

実行すると、example.txt の内容がコンソールに表示されます。

7. Node.js の活用例

  1. リアルタイムアプリケーション
    WebSocket を使ってチャットアプリや通知システムを構築。
  2. REST API サーバー
    Express を使って API を簡単に構築。
  3. タスク自動化
    スクリプトを作成して定型業務を効率化。
  4. データ処理
    大量のデータを扱うためのツール作成。

8. Node.js のデバッグ方法

Node.js にはデバッグツールが組み込まれています。

デバッグモードで実行:

node inspect app.js

Chrome DevTools を利用する:

node --inspect-brk app.js

ブラウザで chrome://inspect にアクセスしてデバッグ。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

AIアーティスト | エンジニア | ライター | 最新のAI技術やトレンド、注目のモデル解説、そして実践に役立つ豊富なリソースまで、幅広い内容を記事にしています。フォローしてねヾ(^^)ノ

コメント

コメント一覧 (2件)

コメントする

目次