Skip to main content

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 操作示例

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 服务器、微服务架构等场景。

更多 Express 资源