メインコンテンツまでスキップ

Node.js / Express

Node.jsは、JavaScriptをブラウザの外でも動かすための実行環境です。Expressは、Node.jsでWebサーバーやAPIを作りやすくするフレームワークです。

何ができる?

  • APIサーバーを作る
  • フォーム送信を受け取る
  • JSONを返す
  • データベースと連携する
  • フロントエンドと同じJavaScript/TypeScriptでサーバー側を書く

学習前に知っておきたいこと

  • JavaScriptの基本
  • 関数とオブジェクト
  • HTTPの基本
  • JSONの形
  • npmの使い方

Expressの基本形

const express = require('express');

const app = express();

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

app.listen(3000, () => {
console.log('Server is running');
});

app.get() は、指定したURLにアクセスされたときの処理を書きます。

APIの例

app.get('/api/languages', (req, res) => {
res.json([
{name: 'JavaScript', type: 'frontend'},
{name: 'Node.js', type: 'backend'},
]);
});

JSONを返すAPIを作ると、ReactやNext.jsなどのフロントエンドからデータを取得できます。

よく使う関連技術

技術役割
npmライブラリ管理
TypeScript型安全にサーバーを書く
Prismaデータベース操作
PostgreSQL / MySQLデータ保存
Zod入力値の検証
nodemon保存時にサーバー再起動

ミニ演習: JSON API

app.get('/api/profile', (req, res) => {
res.json({
name: 'Code Recipe',
message: 'Node.jsでAPIを作っています',
});
});

ブラウザで /api/profile を開いて、JSONが表示されるか確認してみましょう。

よくあるつまずき

困ったこと原因の例確認すること
サーバーが起動しないポート使用中ポート番号
JSONが受け取れないbody解析不足express.json()
CORSエラー別ドメインからアクセスCORS設定
DB接続できない環境変数やURL違い.env
非同期処理で失敗await忘れasync / await

チェックリスト

  • Node.jsとExpressの違いを説明できる
  • GET APIを作れる
  • JSONを返せる
  • npmでパッケージを管理できる
  • データベース連携が必要になる場面を説明できる

次に学ぶこと

Expressの基本が分かったら、TypeScript、Prisma、認証、データベース、エラーハンドリングを学びましょう。Next.jsのAPIやサーバー処理にもつながります。