Skip to main content

Middleware

Middleware 設定

var express = require("express");
var router = express.Router();

// middleware => 一定要放在 api 路由的前面不然會沒有作用
router.use(function (req, res, next) {
console.log("有人進來了"); // 可以在此處寫下邏輯判斷
next(); // 如果沒有 next() 的話 browser 就會一直轉
});
/* GET home page. */
router.get("/", function (req, res) {
res.send(`${html}`);
});

Middleware 404 500 設計

// url => /thomas
var express = require("express");
var router = express.Router();

// middleware
router.use(function (req, res, next) {
console.log("有人進來了");
kk();
next();
});
/* GET home page. */
router.get("/", function (req, res) {
res.send(`${html}`);
});
// 因為沒有 /thomas 所以就一路跑到這裡
router.use(function (req, res, next) {
res.status(400).send("沒有這個頁面");
});
router.use(function (error, req, res, next) {
res.status(500).send("這個程式有一點點問題");
});

Middleware 寫法優化

middleware 方法一

const login = function(req,res,next){
console.log("有人進來了");
next();
}
router.use(login);
/* GET home page. */
router.get("/", function (req, res) {
res.send(`${html}`);
});
middleware 方法二
const login = function(req,res,next){
console.log("有人進來了");
next();
}
/* GET home page. */
router.get("/",login, function (req, res) {
res.send(`${html}`);
});