Node.js framework express.js middleware All In One
Node.js framework express.js middleware All In One
express.js middlewares order
writing middleware
const express = require('express')
const app = express()
const myLogger = function (req, res, next) {
console.log('LOGGED')
next()
}
app.use(myLogger)
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(3000)
https://expressjs.com/en/guide/writing-middleware.html
demos
// const express = require('express')
import express from 'express';
const app = express()
const middleware1 = function (req, res, next) {
console.log(`middleware 1 ✅`)
next()
}
const middleware2 = (req, res, next) => {
console.log(`middleware 2 ✅✅`)
next()
}
const middleware3 = (req, res, next) => {
console.log(`middleware 3 ✅✅✅`)
next()
}
app.use(middleware1)
app.use(middleware2)
app.use(middleware3)
app.get('/', (req, res) => {
res.send('Hello World!');
})
// app.listen(3000)
const PORT = 3000;
app.listen(PORT, () => {
console.log(`server is running on http://localhost:${PORT}`);
})
// const express = require('express')
import express from 'express';
const app = express()
const middleware1 = function (req, res, next) {
console.log(`middleware 1 ✅`)
next()
}
const middleware2 = (req, res, next) => {
console.log(`middleware 2 ✅✅`)
next()
}
const middleware3 = (req, res, next) => {
console.log(`middleware 3 ✅✅✅`)
next()
}
app.use(middleware1, middleware2, middleware3);
app.get('/', (req, res) => {
res.send('Hello World!');
})
// app.listen(3000)
const PORT = 3000;
app.listen(PORT, () => {
console.log(`server is running on http://localhost:${PORT}`);
})
// const express = require('express')
// const bodyParser = require('body-parser');
import express from 'express';
import bodyParser from 'body-parser';
import router from './routers/index.js';
const app = express()
// ❌
app.use(router)
// get POST request's body
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: true}))
// // ✅
// app.use(router)
const auth = (req, res, next) => {
console.log(`req.originalUrl`, req.originalUrl);
if(req.originalUrl) {
next()
// ⚠️
return;
}
res.send(`403 error`);
}
const middleware1 = function (req, res, next) {
console.log(`middleware 1 ✅ before`)
next()
console.log(`middleware 1 ✅ after`)
}
const middleware2 = (req, res, next) => {
console.log(`middleware 2 ✅✅ before`)
next()
console.log(`middleware 2 ✅✅ after`)
}
const middleware3 = (req, res, next) => {
console.log(`middleware 3 ✅✅✅ before`)
next()
console.log(`middleware 3 ✅✅✅ after`)
}
app.use(middleware1, middleware2, middleware3);
app.get('/', auth, (req, res) => {
res.send('Hello World!');
})
// app.listen(3000)
const PORT = 3000;
app.listen(PORT, () => {
console.log(`server is running on http://localhost:${PORT}`);
})
// http://localhost:3000
video tutorials
refs
©xgqfrms 2012-2025
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/17823528.html
未经授权禁止转载,违者必究!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2022-11-10 Chrome DevTools Console black technology All In One
2022-11-10 SSR & SSG & ISG All In One
2022-11-10 Modern.js All In One
2022-11-10 海外前端知名人士 All In One
2022-11-10 How to disabled GitHub repo's dependabot auto create PRs All In One
2021-11-10 vue css inline style All In One
2020-11-10 Tailwind CSS In Action