こんにちは、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と組み合わせた実践的な開発に挑戦すると良いでしょう。
コメント