Express

【Express】存在しないページにアクセスした時のルーティング設定

本記事では、Expressで存在しないページにアクセスした時のルーティング設定の方法について解説しています。

ITエンジニア特化の転職サイト!
自社内開発求人に強い【クラウドリンク】

先輩くん
先輩くん
年収、休日数、労働環境等クラウドリンクが審査し、これらを通過した優良求人情報のみ紹介しているよ!
後輩ちゃん
後輩ちゃん
100%自社内開発の求人だから、SESのように職場環境が変わらないのがいいね!
簡単30秒で無料登録!

Node.js / Expressの学習におすすめ参考書
Node.js超入門 第3版

本書情報
著者掌田 津耶乃
発売日2020/7/18
ページ数480ページ
Kindle版
(電子書籍)
レビュー
(Amazon)
(44件)

存在しないページのルーティング設定

ルーティング設定に該当しないページにユーザーがアクセスした時に、何かしらのページを表示させたい場合は以下のように記述します。

app.get("*", (req, res) => {
  /* 処理を記述 */
});

パスを指定する第一引数にワイルドカードの「*」を設定します。すると、ルーティング設定していないパスにアクセスした時に処理が実行されます。

注意点として、ルーティング設定の最後に設定する必要があります。その理由は、ルーティングは上から順にマッチしたものを表示させるため、先頭やルーティングとルーティングの間に設定してしまうと後続に記述されているものに一切該当しなくなります。

const express = require("express");
const app = express();

/*** ▼NG設定 ***/
app.get("*", (req, res) => {
  res.send("<h1>存在しないページ</h1>");
});

app.get("/contact", (req, res) => {
  res.send("<h1>Contact</h1>");
});

app.get("/", (req, res) => {
  res.send("<h1>Top</h1>");
});


/*** ▼OK設定 ***/
app.get("/contact", (req, res) => {
  res.send("<h1>Contact</h1>");
});

app.get("/", (req, res) => {
  res.send("<h1>Top</h1>");
});

app.get("*", (req, res) => {
  res.send("<h1>存在しないページ</h1>");
});

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村