Skip to content

Node.js Express

Express 是基于 Node.js HTTP 模块的 Web 应用框架,简化了路由、中间件、请求响应处理。

快速启动

js
import express from 'express'
const app = express()

app.get('/', (req, res) => res.send('get'))
app.post('/create', (req, res) => res.send('post'))

app.listen(3000, () => console.log('Listening on port 3000'))

获取请求参数

js
app.use(express.json())  // POST JSON 解析中间件,否则 req.body 为 undefined

// GET 参数 → req.query
app.get('/', (req, res) => console.log(req.query))

// POST JSON → req.body
app.post('/create', (req, res) => console.log(req.body))

// 动态路由参数 → req.params
app.get('/:id', (req, res) => console.log(req.params.id))

路由模块化

src/user.js — 路由模块:

js
import express from 'express'
const router = express.Router()

router.post('/login', (req, res) => res.send('login'))
router.post('/register', (req, res) => res.send('register'))

export default router

app.js — 挂载路由:

js
import User from './src/user.js'

app.use(express.json())
app.use('/user', User)   // /user/login → User 模块的 /login

Express 核心特性

特性说明
路由app.get/post/put/delete(path, handler)
中间件app.use(middleware),在请求到达路由前/后执行
路由模块化express.Router() 拆分为独立模块
模板引擎支持 EJS / Pug / Handlebars 等
中间件生态身份验证、日志、静态文件等现成中间件