Express 简介
什么是 Express?
Express.js 是一个基于 Node.js 的轻量级 Web 框架,适用于构建 API 和 Web 应用。
info
Express 提供了简洁的路由和中间件机制,使得构建后端服务更加灵活高效。
安装 Express
npm install express
创建一个 Express 应用
const express = require("express");
const app = express();
app.get("/", (req, res) => {
  res.send("Hello, Express!");
});
app.listen(3000, () => {
  console.log("Server running on http://localhost:3000");
});
运行后访问 http://localhost:3000/ 即可看到 Hello, Express!。
Express 项目结构
my_express_app/
│── app.js          # Express 入口文件
│── routes/         # 路由文件
│── controllers/    # 控制器逻辑
│── models/        # 数据模型
│── middlewares/   # 中间件
│── package.json   # 依赖配置文件
│── node_modules/  # 依赖库
Express 路由管理
const express = require("express");
const router = express.Router();
router.get("/hello/:name", (req, res) => {
  res.send(`Hello, ${req.params.name}!`);
});
module.exports = router;
CRUD 操作示例
- JavaScript
 
const express = require("express");
const app = express();
app.use(express.json()); // 解析 JSON 请求体
let data = [];
// 获取数  据
app.get("/items", (req, res) => {
  res.json(data);
});
// 创建数据
app.post("/items", (req, res) => {
  data.push(req.body);
  res.status(201).json(req.body);
});
// 更新数据
app.put("/items/:index", (req, res) => {
  const index = parseInt(req.params.index);
  if (index >= 0 && index < data.length) {
    data[index] = req.body;
    res.json(data[index]);
  } else {
    res.status(404).send("Not Found");
  }
});
// 删除数据
app.delete("/items/:index", (req, res) => {
  const index = parseInt(req.params.index);
  if (index >= 0 && index < data.length) {
    res.json(data.splice(index, 1));
  } else {
    res.status(404).send("Not Found");
  }
});
app.listen(3000, () => console.log("Server running on http://localhost:3000"));
使用 Express 和 MongoDB
npm install mongoose
const mongoose = require("mongoose");
const express = require("express");
const app = express();
mongoose.connect("mongodb://localhost:27017/mydb", {
  useNewUrlParser: true,
  useUnifiedTopology: true,
});
const UserSchema = new mongoose.Schema({
  name: String,
  email: String,
});
const User = mongoose.model("User", UserSchema);
app.use(express.json());
app.post("/users", async (req, res) => {
  const user = new User(req.body);
  await user.save();
  res.status(201).json(user);
});
app.listen(3000, () => console.log("Server running on http://localhost:3000"));
结论
Express.js 作为一个轻量级的 Web 框架,适用于 API 服务器、微服务架构等场景。