express简介
2024年1月12日...大约 3 分钟
express简介
主要特点和功能介绍:
1. 核心特性
- 轻量级:Express 是一个最小化的框架,核心功能简洁,但可以通过中间件扩展。
- 路由系统:提供了强大的路由功能,支持定义 HTTP 请求(GET、POST、PUT、DELETE 等)的处理逻辑。
- 中间件支持:通过中间件机制,可以轻松处理请求和响应,例如解析请求体、处理 Cookie、会话管理等。
- 模板引擎支持:支持多种模板引擎(如 Pug、EJS、Handlebars 等),方便渲染动态 HTML 页面。
- 静态文件服务:内置
express.static中间件,可以轻松托管静态文件(如 CSS、JavaScript、图片等)。 - 错误处理:提供了统一的错误处理机制,方便捕获和处理异常。
2. 安装
可以通过 pnpm 安装 Express 4.21.2:
pnpm add express@4.21.2 // 默认安装dependencies3. 基本用法
以下是一个简单的 Express 应用示例:
const express = require("express");
const app = express();
const port = 3000;
// 定义路由
app.get("/", (req, res) => {
res.send("Hello, World!");
});
// 启动服务器
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});4. 主要功能
路由
Express 支持定义多种 HTTP 方法的路由:
app.get("/users", (req, res) => {
res.send("Get a list of users");
});
app.post("/users", (req, res) => {
res.send("Create a new user");
});
app.put("/users/:id", (req, res) => {
res.send(`Update user with ID ${req.params.id}`);
});
app.delete("/users/:id", (req, res) => {
res.send(`Delete user with ID ${req.params.id}`);
});中间件
Express 的核心功能之一是中间件。可以通过 app.use() 添加中间件:
// 日志中间件
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
next();
});
// 解析 JSON 请求体
app.use(express.json());
// 解析 URL 编码的请求体
app.use(express.urlencoded({ extended: true }));静态文件服务
使用 express.static 托管静态文件:
app.use(express.static('public'));模板引擎
支持多种模板引擎,例如 EJS:(不用)
app.set("view engine", "ejs");
app.get("/", (req, res) => {
res.render("index", { title: "Express App" });
});错误处理
统一的错误处理机制:
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send("Something broke!");
});6. 常用中间件
Express 4.x 推荐使用以下常用中间件:
body-parser:解析请求体(JSON、URL-encoded 等)。cookie-parser:解析 Cookie。morgan:HTTP 请求日志记录。cors:处理跨域请求。helmet:增强 HTTP 安全性。
安装示例:
pnpm install body-parser cookie-parser morgan cors helmet使用示例:
const bodyParser = require("body-parser");
const cookieParser = require("cookie-parser");
const morgan = require("morgan");
const cors = require("cors");
const helmet = require("helmet");
app.use(bodyParser.json());
app.use(cookieParser());
app.use(morgan("dev"));
app.use(cors());
app.use(helmet());7. 适用场景
- 构建 RESTful API:Express 是构建 API 的理想选择,支持 JSON、XML 等多种数据格式。
- 单页应用(SPA)后端:可以作为单页应用的后端服务,提供数据接口。
- 静态网站托管:通过
express.static快速托管静态网站。 - 微服务架构:适合作为微服务架构中的单个服务。
8. 总结
Express真的非常好用,我个人非常喜欢!它特别适合用来搭建各种 Web 应用和 API,尤其是中小型项目,用起来特别顺手。它的中间件和路由系统设计得很灵活,开发效率很高,想加什么功能都很方便。社区里也有很多插件和工具,几乎什么需求都能找到现成的解决方案。如果你想要一个轻量、高性能的 Node.js Web 框架,Express 绝对是首选!用它来做一些小项目或者微服务特别合适,简单直接,不用搞得太复杂。
Powered by Waline v3.4.1
