Webアプリケーションフレームワーク「Express」の基礎知識
更新日:2025/02/01
Expressの長所
軽量で柔軟
豊富なミドルウェアエコシステム
- 認証、セッション管理、CORS対策など、多様なミドルウェアが利用可能
- npmを通じて簡単に導入できる
- 自作ミドルウェアの作成も容易
直感的なルーティング
データベース統合の容易さ
Node.jsとの関係
そもそもNode.jsとはJavaScriptをサーバーサイドで実行する処理系です、、
処理系とは言語(この場合JavaScript)を解釈して動かすソフトのことです💡
| JavaScript | PHP | Python | |
|---|---|---|---|
| 言語名 | JavaScript | PHP | Python |
| 主な処理系(エンジン) | Node.js、ブラウザ | PHP(処理系と同じ名前) | CPython、PyPy、Jython |
| 実行コマンド例 | node(ブラウザでは不要) | php | python |

Webアプリケーション作成
Expressアプリケーションのエントリーポイントとなるファイルを作成
Expressアプリケーションインスタンスを作成
// Node.jsのrequire関数を使って、expressモジュールをインポートします
const express = require("express");
//
const app = express();express()を実行することで、新しいExpressアプリケーションインスタンスを作成します- このインスタンスが、以下の重要な機能を提供します:
- HTTPリクエストの処理
- ミドルウェアの追加
- ルーティングの設定
- 静的ファイルの提供
- エラーハンドリング
app.use()
app.use() は、Expressアプリケーションにリクエストに対する処理を追加するためのメソッドです。
app.use((req, res, next) => {
// 何らかの処理
next();
});
// next()は「次の処理に進んでいいよ」というサインのような役割もっと具体的に説明すると
「リクエストを処理する関数」をapp.use()に渡します
⬇️
その関数は (req, res, next) という引数を持つ
⬇️
その関数はリクエストに対して何らかの処理を行う
すでに作られた関数(ライブラリ)を渡す場合は「(req, res, next)」記述されません
// req, res, next は見えないが内部で使われている
app.use(express.json());req, res, nextは必ず存在するのですが、ライブラリを使う場合は私たちからは見えないだけ、ということになります。
リクエスト発生時:
- 定義された処理が上から順に確認される
- リクエストに該当する処理が実行される
next()がある場合は次の処理へres.send()などでレスポンスを返すと、そのリクエストの処理は終了
-
検索
(例) debug search etc.. -
カテゴリー
-
mixhostでのWordPress利用について
更新日:2024/04/02
303 view
-
scrollHint
更新日:2024/03/13
251 view
-
XML Sitemap Generator for Google不具合のダウングレード対応、代替プラグイン
更新日:2024/06/13
243 view
-
【SnowMonkey】納品までのフローまとめ
更新日:2025/02/15
164 view
-
【Snow Monkey】ショートコードで編集画面で任意の場所にHTMLファイルを挿入
更新日:2025/04/18
131 view
-
【Googleサーチコンソール】検索画面で表示させたくない「Googleのインデックス削除」
更新日:2024/06/07
131 view
-
tailwindcss使い方
更新日:2024/03/13
125 view
-
キーワード検索で上位表示させる方法【SEO】
更新日:2023/10/28
120 view
-
Recline: GitHub Copilotで動作するClaude 3.5 Sonnet搭載の開発支援ツール
更新日:2025/01/20
115 view
-
WordPressプラグイン「All-in-One WP Migration」のトラブル
更新日:2022/03/31
84 view
-
ワードプレスセキュリティー対策まとめ【2025年】「site guard wordpress」「BackWPup バージョン5でUI変更!?」
更新日:2025/02/25
77 view
-
VSCodeで開発効率を劇的に向上させる!Roo Code(Roo-Cline)プラグイン完全ガイド
更新日:2025/04/06
75 view
-
Express、FastAPIを使用し、二重fetch構成のメリット
更新日:2025/04/26
51 view
-
SSHを使用してGitHubのリポジトリをクローン、複数の接続元で公開鍵をディレクトリで区別する方法
更新日:2025/01/13
49 view
-
「JSONスキーマ」と「Few-shot Learning」で実現する次世代生成AIソフトウェア開発の可能性
更新日:2025/07/06
44 view
-
Supabase 初心者向け解説、Supabase CLI インストール(Scoop)
更新日:2025/06/07
44 view
-
Windowsショートカットエラーの原因と解決方法「このショートカットは、リンク先のファイルが変更または移動されているので、正しく機能しません」
更新日:2025/02/09
40 view
-
リファクタリング【VSCode Javasctipt Python】
更新日:2025/03/09
37 view
-
Next.jsでAWS Amplifyを使ってPDFアップロード機能を実装、Fast APIにPOST(こちらはApp runner)
更新日:2025/06/06
37 view
-
形態素解析とは?初心者でもわかるツールの使い方と実践例
更新日:2025/02/08
34 view