Skip to content

HTTP 请求日志 核心功能实现

项目概述

本项目手写实现了一个轻量级的 morgan 中间件,支持基本功能和常用配置。

项目结构

morgan-core/
├── package.json
├── src/
│   ├── index.js    # 主入口
│   └── utils.js    # 工具函数
└── test/
    └── index.test.js

安装

bash
npm install

使用

javascript
const morgan = require('./src/index.js');
const express = require('express');

const app = express();

// 使用 morgan 中间件
app.use(morgan());

app.get('/', (req, res) => {
  res.send('Hello World');
});

app.listen(3000);

运行测试

bash
npm test

核心功能

1. 基本功能

实现 morgan 的基本功能。

2. 配置选项

支持常用的配置选项。

3. 错误处理

内置错误处理机制。

可扩展功能点

1. 高级配置

实现更多配置选项:

javascript
// TODO: 实现高级配置
function advancedConfig(options) {
  // 高级配置逻辑
}

2. 自定义处理

支持自定义处理逻辑:

javascript
// TODO: 实现自定义处理
function customHandler(req, res, next) {
  // 自定义处理逻辑
  next();
}

相关资源

下一步

完成本课程后,建议继续学习:

  1. body-parser - 学习请求体解析
  2. cookie-parser - 学习 Cookie 解析
  3. express-session - 学习会话管理