【Amazon】人気の商品が日替わりで登場!
毎日お得なタイムセール!商品をみる

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

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

Node.jsの学習におすすめ書籍
Node.js超入門[第4版]
総合評価
( 5 )
メリット
  • 今月出版されたNode.js超入門 第3版の改訂版
  • 最新のNode.jsを学ぶことができる
楽天ブックス
¥3,300 (2024/11/14 22:07時点 | 楽天市場調べ)
先輩くん

Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!

後輩ちゃん

初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!

全プログラマー必見!
変数名/関数名にもう悩まない!
リーダブルコード
総合評価
( 5 )
メリット
  • 美しいコードが書けるが自然と書けるようになる
  • 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次

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

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

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アクセスランキング にほんブログ村 FC2 Blog Ranking

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次