app.get(&apo"> app.get(&apo"> app.get(&apo">
Node.js 词条目录
前端Wiki/Node.js/实战/从脚本到 Web 服务

Express 起手

Express 是 Node 最经典的 Web 框架:把原生 http 的 if/else 路由变成 app.get('/users/:id', handler) 声明式写法,并提供中间件管线、参数解析、静态文件等开箱能力。

核心对象是 req(请求扩展)与 res(响应扩展):res.json() 直接返回 JSON、res.send() 返回文本、res.status(404) 定状态码。路径参数 :id 自动收集到 req.params。

  • app.get/post/use 三件套:路由按声明顺序匹配
  • 路径参数 /users/:id → req.params.id;查询串 → req.query
  • res.json/res.send/res.status 让响应代码比原生 http 短一个量级
终端
# 安装
npm install express --save

# 运行
node server.js
Node
const express = require('express');
const app = express();

// JSON 请求体解析中间件(POST body 进 req.body)
app.use(express.json());

let users = [{ id: 1, name: '小明' }];

// 路径参数
app.get('/users/:id', (req, res) => {
  const u = users.find(x => x.id === parseInt(req.params.id));
  if (!u) return res.status(404).json({ error: '用户不存在' });
  res.json(u);
});

// POST 创建:解析后的请求体在 req.body
app.post('/users', (req, res) => {
  const user = { id: users.length + 1, name: req.body.name };
  users.push(user);
  res.status(201).json(user);
});

// 查询串:/users?kw=明
app.get('/users', (req, res) => {
  const list = users.filter(u => !req.query.kw || u.name.includes(req.query.kw));
  res.json(list);
});

const config = require('./config');
app.listen(config.port, () => console.log('API 跑在', config.port));
本节要点Express 三分钟起步:声明式路由 + req.params/query/body + res.json;比对原生 http 就是“少写一半代码”。