node中的express框架

  1. 1. 核心功能
  2. 2. 安装与基础示例
  3. 3. 常用中间件
  4. 4. 路由模块化
  5. 5. 错误处理
  6. 6. 优缺点

Express.js 是 Node.js 中最流行的轻量级 Web 应用框架,用于快速构建服务器端应用程序和 RESTful API。它基于中间件(Middleware)模式,简化了 HTTP 请求处理和路由管理。以下是其核心概念和用法详解:


1. 核心功能

  • 路由管理
    通过简洁的语法定义 HTTP 请求(GET、POST 等)与 URL 路径的映射:

    app.get('/users', (req, res) => {
      res.send('返回用户列表');
    });
    
  • 中间件(Middleware)
    中间件是处理请求和响应的函数链,可执行日志记录、身份验证等操作:

    app.use((req, res, next) => {
      console.log('请求时间:', new Date());
      next(); // 传递给下一个中间件
    });
    
  • 模板引擎支持
    支持 EJS、Pug、Handlebars 等模板引擎渲染动态内容:

    app.set('view engine', 'ejs');
    app.get('/', (req, res) => {
      res.render('index', { title: '主页' });
    });
    
  • 静态文件服务
    使用 express.static 托管静态文件(如 CSS、图片):

    app.use(express.static('public'));
    

2. 安装与基础示例

  1. 安装
    通过 npm 安装:

    npm install express
    
  2. 基础服务器
    创建一个简单的服务器:

    const express = require('express');
    const app = express();
    const port = 3000;
    
    app.get('/', (req, res) => {
      res.send('Hello World!');
    });
    
    app.listen(port, () => {
      console.log(`服务器运行在 http://localhost:${port}`);
    });
    
  3. electron中使用

    const express = require('express');
    

3. 常用中间件

  • 内置中间件

    • express.json():解析 JSON 格式的请求体(替代 body-parser)。
    • express.urlencoded():解析 URL 编码的请求体。
    app.use(express.json()); // Content-Type: application/json
    app.use(express.urlencoded({ extended: true })); // Content-Type: application/x-www-form-urlencoded
    
  • 第三方中间件

    • cors:处理跨域请求。
    • morgan:记录请求日志。
    • helmet:增强安全性头部。
    const cors = require('cors');
    app.use(cors());
    

4. 路由模块化

通过 express.Router() 组织路由,提升代码可维护性:

// routes/users.js
const router = express.Router();
router.get('/', (req, res) => { /* 获取用户列表 */ });
router.post('/', (req, res) => { /* 创建用户 */ });
module.exports = router;

// 主文件
const usersRouter = require('./routes/users');
app.use('/users', usersRouter);

5. 错误处理

定义错误处理中间件(需4个参数):

app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).send('服务器错误!');
});

6. 优缺点

  • 优点

    • 轻量灵活,易于扩展。
    • 庞大的中间件生态系统。
    • 适合快速开发 API 和单页应用。
  • 缺点

    • 需手动处理某些功能(如身份验证)。
    • 异步处理稍显陈旧。


Express 的核心在于 中间件流程路由控制,通过组合不同功能模块,开发者可以高效构建灵活的服务端应用。学习时建议结合官方文档和常用中间件(如 Express 中间件列表)实践。


此方悬停
相册 小说 Ai
/*音乐播放器插件*/ /*
*/