【初心者向け】Node.jsを使ったAPI開発の始め方

eyecatch111 WEB制作

こんにちは、SouDogです。

JavaScriptはフロントエンド開発の定番ですが、Node.jsを使えばサーバーサイド開発もJavaScriptで行えるんです!「バックエンドの開発は難しそう…」と思っている方も大丈夫。Node.jsはシンプルな構文と豊富なライブラリで、初心者でも扱いやすいのが魅力です。

本記事では、Node.jsの基本からサーバーサイド開発、API作成、データベース連携までをわかりやすく解説します。実際のコードを交えながら進めるので、手を動かしながら学んでいきましょう!


1. Node.jsとは?

Node.jsは、GoogleのV8 JavaScriptエンジンを使用してサーバーサイドで動作するJavaScriptの実行環境です。通常、JavaScriptはWebブラウザ内で動作しますが、Node.jsを使用することで、サーバー側の処理をJavaScriptで記述できるようになります。

Node.jsの特徴は以下の通りです。

  • 非同期・イベント駆動型: リクエストをブロックせずに処理できるため、高速なパフォーマンスを発揮します。
  • 単一スレッド: 非同期処理を活用することで、効率的に多数のリクエストを処理します。
  • 豊富なパッケージ: npm(Node Package Manager)を使って多数のライブラリを利用可能。

2. Node.jsのインストールと基本的な使い方

Node.jsのインストール

Node.jsは公式サイト(https://nodejs.org/)からダウンロードできます。Windows、Mac、Linuxなど様々な環境に対応しています。

# バージョン確認
node -v
npm -v
簡単なNode.jsプログラム

以下のコードを hello.js として保存し、実行すると「Hello, Node.js!」が表示されます。

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

実行:

node hello.js

3. Node.jsを使ったサーバーサイド開発

Node.jsではhttpモジュールを使って簡単にWebサーバーを構築できます。

シンプルなHTTPサーバー

以下のコードを server.js として保存し、実行すると簡単なHTTPサーバーが起動します。

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

実行:

node server.js

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


4. Expressを使ったAPI開発

Expressは、Node.jsでAPIを簡単に作成できるフレームワークです。

Expressのインストール
npm init -y
npm install express
シンプルなAPIサーバー
const express = require("express");
const app = express();
const PORT = 3000;

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

app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`);
});

5. データベース連携(MongoDB)

Node.jsではMongoDBを使うことで簡単にデータベースと連携できます。

MongoDBのインストール

MongoDBの公式サイト(https://www.mongodb.com/)からインストールできます。

Mongooseを使ったデータベース操作

MongooseはMongoDBの操作を簡単にするライブラリです。

npm install mongoose

以下のコードでMongoDBに接続し、データを保存することができます。

const mongoose = require("mongoose");

mongoose.connect("mongodb://localhost:27017/test", {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

const UserSchema = new mongoose.Schema({
    name: String,
    age: Number
});

const User = mongoose.model("User", UserSchema);

const newUser = new User({ name: "Taro", age: 25 });
newUser.save().then(() => console.log("User saved!"));

6. まとめ

Node.jsを使うことで、サーバーサイド開発やAPI作成、データベース連携が簡単に行えます。特に、Expressを使えばシンプルなAPIをすぐに構築でき、Mongooseを使えばデータの管理も容易になります。

これからNode.jsを学ぶ方は、まず基本的なHTTPサーバーの作成から始め、ExpressやMongoDBと組み合わせた実践的な開発に挑戦すると良いでしょう。

コメント