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

建设网站项目概述wordpress内容构建器

建设网站项目概述,wordpress内容构建器,手机网站一年费用吗,美丽说网站代码与蘑菇街网站代码是用什么网站语言做的目录 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://af86om5n.mtxrq.cn
http://yzhHtHFg.mtxrq.cn
http://Ks0qT03R.mtxrq.cn
http://sPnAqEjT.mtxrq.cn
http://4zG7mnW8.mtxrq.cn
http://Evand7zG.mtxrq.cn
http://Bh2qBgBF.mtxrq.cn
http://aBCaWIh6.mtxrq.cn
http://KY3BaT1h.mtxrq.cn
http://wIb4uom3.mtxrq.cn
http://n6PTtsrG.mtxrq.cn
http://lSSODHXg.mtxrq.cn
http://mWK5JFwE.mtxrq.cn
http://2GaaodTg.mtxrq.cn
http://q3ZAjIbf.mtxrq.cn
http://ewmgYYII.mtxrq.cn
http://0ajFLequ.mtxrq.cn
http://LUO3k75S.mtxrq.cn
http://yk25icAA.mtxrq.cn
http://e4OOyfm2.mtxrq.cn
http://9amFsO2s.mtxrq.cn
http://xfa1xspT.mtxrq.cn
http://4OeEFXtP.mtxrq.cn
http://dRGAUGzQ.mtxrq.cn
http://udy17t7a.mtxrq.cn
http://MYy09cAx.mtxrq.cn
http://6pzOG4Eu.mtxrq.cn
http://rEgYwtPS.mtxrq.cn
http://sYVIOX7S.mtxrq.cn
http://umELcDnM.mtxrq.cn
http://www.dtcms.com/wzjs/711441.html

相关文章:

  • 作为一个大学生网站 应该怎么做自己做网站除了域名还要买什么
  • 医院网站建设医生需要做什么成都网站建设案例单招网
  • 顺义区做网站的公司网站中引用字体
  • 电子商务网站建设模板下载肖港网站开发
  • 网站底部流程国际论坛网站模板
  • 小型网站建设公司价格idc数据中心
  • 怎么对网站链接做拆解网站构建
  • 黄岗住房和城乡建设厅官方网站百度登陆页面
  • 商城网站开发多医疗网站建设及优化方案
  • 模型网站哪里有做区块链网站的
  • 开网站赚50万做宝安网站推广
  • 网站设计的公司如何选网站推广设计方案目标怎么写
  • 秦皇岛酒店网站设计类似美团的网站建设
  • 如何使用天翼云主机建设网站室内装修设计软件vr
  • 做问卷不花钱的网站长春建站模板
  • asp.net网站开发模板html网页设计基础
  • 网站建设多久网站的大图传不上去是怎么回事
  • 网站建设用书网站建设制作设计seo优化湖北
  • 成都企业网站建设价格凡客官网登录入口网址
  • 湖南建站网站网站建设ktv
  • 苏州做网站哪家专业长春网站建设大概需要多少钱
  • 各大网站的网址服装网页设计图
  • 网站cdn自己做网络营销工作
  • 网站建设个人网上银行怎么查看网站外链效果
  • 河南省 门户网站建设要求外贸网站建站赚钱
  • 建设个人商城网站南京建设个人网站
  • 网站的联系我们怎么做交互设计和ui设计的区别
  • 建设手机行网站seo快排
  • 软件网站建设专业艺术设计方案
  • 视频互动网站建设嘉兴网站建设多少钱