nodejs-express-server について
API やサーバー側のリクエスト処理を実装する開発者向けに、Node.js Express アプリの作成方法を案内します。ルーティング、ミドルウェア、認証、データベース連携と運用上の指針を扱います。
主な機能
- 01Express の設定とルーティング
- 02ミドルウェアチェーンの設計
- 03JWT 認証の指針
- 04PostgreSQL と Sequelize の連携
- 05CRUD ルートとエラー処理
活用シーン
- 01Node.js での REST API 構築
- 02保護されたルートへの認証追加
- 03Express アプリと PostgreSQL の接続
- 04リクエスト検証とエラー処理の整理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill nodejs-express-serverインストール後、Claude Code で/nodejs-express-serverを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/authentication-with-jwt.mdbasic-express-setup.mddatabase-integration-postgresql-with-sequelize.mdenvironment-configuration.mderror-handling-middleware.mdmiddleware-chain-implementation.mdrestful-routes-with-crud-operations.mdscripts/security-checklist.sh詳細
Node.js Express サーバー
目次
概要
業界のベストプラクティスに従い、適切なルーティング、ミドルウェアチェーン、認証メカニズム、データベース連携を備えた堅牢な Express.js アプリケーションを作成します。
使用する場面
- Node.js で REST API を構築する場合
- サーバー側でリクエスト処理を実装する場合
- 横断的関心事に対応するミドルウェアチェーンを作成する場合
- 認証と認可を管理する場合
- Node.js からデータベースに接続する場合
- エラー処理とロギングを実装する場合
クイックスタート
最小限の動作例:
const express = require("express");
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
// Routes
app.get("/health", (req, res) => {
res.json({ status: "OK", timestamp: new Date().toISOString() });
});
// Error handling
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(err.status || 500).json({
error: err.message,
requestId: req.id,
});
});
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
リファレンスガイド
詳細な実装は references/ ディレクトリにあります:
| ガイド | 内容 |
|---|---|
| 基本的な Express のセットアップ | 基本的な Express のセットアップ |
| ミドルウェアチェーンの実装 | ミドルウェアチェーンの実装 |
| データベース連携(Sequelize を使用した PostgreSQL) | データベース連携(Sequelize を使用した PostgreSQL) |
| JWT による認証 | JWT による認証 |
| CRUD 操作を備えた RESTful ルート | CRUD 操作を備えた RESTful ルート |
| エラー処理ミドルウェア | エラー処理ミドルウェア |
| 環境設定 | 環境設定 |
ベストプラクティス
✅ 推奨事項
- 横断的関心事にはミドルウェアを使用する
- 適切なエラー処理を実装する
- 処理の前に入力データを検証する
- 非同期処理には async/await を使用する
- 保護されたルートに認証を実装する
- 設定には環境変数を使用する
- ロギングとモニタリングを追加する
- 本番環境では HTTPS を使用する
- レート制限を実装する
- ルートハンドラーは役割を絞り、小さく保つ
❌ 禁止事項
- エラーを黙って処理する
- 機密データをコード内に保存する
- ルートで同期処理を使用する
- ユーザー入力の検証を忘れる
- ルートハンドラー内に認証を実装する
- コールバック地獄を使う(Promise または async/await を使用する)
- 本番環境でスタックトレースを公開する
- クライアント側の検証だけを信用する
コメント
Markdown 対応