当前位置: 首页 > wzjs >正文

徐州网站建设外包做电焊加工的网站

徐州网站建设外包,做电焊加工的网站,教育企业网站源码,济南网站建设_美叶网络目录 Node.js 自定义中间件详细介绍 1. 目录结构 2. 什么是自定义中间件? 3. 代码实现 1. 自定义日志中间件(记录请求信息) 2. 自定义身份验证中间件(校验用户权限) 3. 自定义请求时间中间件(记录请…

目录

Node.js 自定义中间件详细介绍

1. 目录结构

2. 什么是自定义中间件?

3. 代码实现

1. 自定义日志中间件(记录请求信息)

2. 自定义身份验证中间件(校验用户权限)

3. 自定义请求时间中间件(记录请求发生时间)

4. 总结


在 Node.js 的 Express 框架中,中间件是处理 HTTP 请求的核心部分,开发者可以使用自定义中间件来增强功能,例如日志记录、身份验证、错误处理等。本文将详细介绍如何创建和使用自定义中间件,并提供完整代码示例,帮助开发者更深入理解 Express 中间件的用法。


1. 目录结构

/your-project├── app.js                # 主文件,启动应用├── middleware│   ├── logger.js         # 自定义日志中间件│   ├── auth.js           # 自定义身份验证中间件│   ├── requestTime.js    # 自定义请求时间中间件└── package.json          # 依赖管理文件

2. 什么是自定义中间件?

自定义中间件是开发者自己编写的函数,位于请求到达路由之前或响应返回客户端之前,通常用于:

  • 记录请求日志

  • 处理用户身份验证

  • 解析请求数据

  • 处理错误

自定义中间件格式:

const middlewareFunction = (req, res, next) => {// 处理逻辑next(); // 继续执行下一个中间件或路由
};module.exports = middlewareFunction;

3. 代码实现

1. 自定义日志中间件(记录请求信息)

文件名:middleware/logger.js

// middleware/logger.js
const logger = (req, res, next) => {console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);next();
};module.exports = logger;

app.js 中使用:

// app.js
const express = require('express');
const app = express();
const logger = require('./middleware/logger');// 全局使用日志中间件
app.use(logger);app.get('/', (req, res) => {res.send('<h1>Home Page</h1>');
});app.listen(3000, () => {console.log('Server running on http://localhost:3000');
});

运行结果:
访问 http://localhost:3000/ 时,终端输出:

[2025-04-01T12:00:00.000Z] GET /

2. 自定义身份验证中间件(校验用户权限)

文件名:middleware/auth.js

// middleware/auth.js
const auth = (req, res, next) => {if (req.query.auth === 'true') {next(); // 通过验证,继续执行} else {res.status(403).send('<h1>Access Denied</h1>');}
};module.exports = auth;

app.js 中使用:

const auth = require('./middleware/auth');app.get('/dashboard', auth, (req, res) => {res.send('<h1>Welcome to the Dashboard</h1>');
});

运行结果:
访问 http://localhost:3000/dashboard?auth=true

Welcome to the Dashboard

访问 http://localhost:3000/dashboard

Access Denied

3. 自定义请求时间中间件(记录请求发生时间)

文件名:middleware/requestTime.js

// middleware/requestTime.js
const requestTime = (req, res, next) => {req.requestTime = new Date().toISOString();next();
};module.exports = requestTime;

app.js 中使用:

const requestTime = require('./middleware/requestTime');app.use(requestTime);app.get('/time', (req, res) => {res.send(`<h1>Request received at: ${req.requestTime}</h1>`);
});

运行结果:
访问 http://localhost:3000/time

Request received at: 2025-04-01T12:00:00.000Z

4. 总结

  1. 日志中间件 - 记录请求信息,方便调试。

  2. 身份验证中间件 - 校验用户权限,控制访问权限。

  3. 请求时间中间件 - 记录请求时间,方便分析请求时间点。

本教程提供完整代码和运行示例,帮助开发者掌握 Express 自定义中间件的用法,提高 Node.js 应用的可维护性和扩展性!

 

http://www.dtcms.com/wzjs/536601.html

相关文章:

  • 个人建站什么网站好仿魔酷阁网站源码
  • 做网站上的图片如何设定分辨率网站查询域名ip解析
  • 邯郸做网站推广的地方做网站怎样更改背景
  • 查看一个网站的备案贝斯特专业网站
  • 深圳戈麦斯网站开发资源优化排名网站
  • 赞助网站怎么做简述网站建设主要流程
  • 环保公司网站建设内容中医医院网站建设需求
  • 找人做网站注意哪些wordpress move下载
  • 哪个网站可以接加工单网站中的搜索框怎么做
  • 网站开发要点买了个域名 如何建网站
  • 做网站需要ui设计吗如何做网站源码备份
  • 网页与网站设计实验报告网站建设服务那一个便宜
  • 做网站数据对电脑要求wordpress安装数据库连接错误
  • 福州网站建设专业定制在统计局网站上如何做图表
  • flash个人网站首页模板柳州公司
  • 为什么网站收录下降正规绍兴网站建设公司
  • 网站开发技术人员怎么接单wordpress缩略图代码显示
  • 淘宝客网站一定要备案内蒙古网站建设价格
  • 广州市海珠区建设局五位一体网站网易企业邮箱登入路口
  • 免费做一建或二建题目的网站word导入wordpress
  • 做seo网站 公司快手seo软件下载
  • 爱有声小说网站捡个校花做老婆网页设计课程培训班
  • 自建微网站服务器门户类网站模板
  • 潍坊建设gc局网站最简单的网站开发软件有哪些
  • 南昌科技网站建设双11主机 wordpress 2015
  • 外贸建设网站制作wordpress ping服务器
  • 网站维护费一年多少钱品牌推广案例及方案
  • 网站建设 青少年宫桥拓云智能建站
  • 天一建设网站做全景图二维码的网站
  • 我想创建一个网站自己玩玩上海网络科技有限公司有哪些