第七篇:node中间件详解

🎬 江城开朗的豌豆个人主页

🔥 个人专栏 :《 VUE 》 《 javaScript 》

📝个人网站 :《 江城开朗的豌豆🫛 》

⛺️ 生活的理想,就是为了理想的生活 !

目录

[📘 引言:](#📘 引言:)

[📘 全局中间件](#📘 全局中间件)

[📘 路由中间件](#📘 路由中间件)

[📘 日志中间件](#📘 日志中间件)

[📘 往期篇章推荐](#📘 往期篇章推荐)

[⭐ 写在最后](#⭐ 写在最后)


📘 引言:

当今互联网时代,Node.js 成为了最受欢迎的服务器端开发平台之一。作为一名小白,学习 Node.js 可能会让你感到有些困惑和陌生。但是,不用担心!本文将带领你进入 Node.js 的世界,帮助你理解它的基本概念和学习路径。

Node.js 是构建高性能、可扩展网络应用程序的运行时环境。它基于 Chrome V8 JavaScript 引擎,并采用事件驱动、非阻塞的 I/O 模型,使得它能够处理大量并发连接而不阻塞其他操作。这使得 Node.js 成为构建实时应用程序、聊天应用、API 服务等的理想选择。

本文旨在为初学者提供一个简单的入门指南,介绍 Node.js 的核心概念、安装和配置环境的步骤,以及使用常见的模块和工具。我们还将探索如何编写简单的服务器端代码、处理 HTTP 请求和响应、读写文件、操作数据库等常见任务。

无论你是想成为一名全职的 Node.js 开发者,还是只是对学习这门技术感兴趣,本文都将为你提供一个良好的起点。我们将尽量以简洁明了的方式解释概念,并提供实际的示例代码帮助你理解。

让我们一起开始这段令人兴奋的 Node.js 学习之旅吧!

📘 全局中间件

javascript 复制代码
// 中间件
const middleware = (req, res, next)=> {
    console.log('这是一个中间件');
    next();
}
app.use(middleware);

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

📘 路由中间件

javascript 复制代码
// 局部中间件
app.get('/jubu', (req,res,next)=>{
    console.log('这是一个局部中间件');
    next();
},(req, res)=>{
    res.send('hom');
})

📘 日志中间件

javascript 复制代码
// 日志中间件
const logger = (req, res, next)=>{
    const time = new Date().toLocaleString();
    console.log(`当前时间:${time} 请求方式:${req.method} 路由地址:${req.url}`);
    next();
}
app.use(logger);//注册中间件

app.get('/home1',
    (req, res)=>{
        res.send('home33333');
    }
)
app.get('/about1',
    (req, res)=>{
        res.send('about3333');
    }
)

注意:如果忘记在中间件中调用 next 函数,并且又不直接返回响应时,服务器会直接卡在这个中间件不会继续执行下去哦!

📘 往期篇章推荐

📟 第一篇:node的背景及版本的检查

📟 第二篇:新建node项目并运行

📟 第三篇:搭建项目的两种代码格式

📟 第四篇:怎么写express的路由(接口+请求)

📟 第五篇:express路由路径方式(字符串,字符串模式,和正则)

📟 第六篇:express路由拆分(模块化)

⭐ 写在最后

请大家不吝赐教,在下方评论或者私信我,十分感谢🙏🙏🙏.

✅ 认为我某个部分的设计过于繁琐,有更加简单或者更高逼格的封装方式

✅ 认为我部分代码过于老旧,可以提供新的API或最新语法

✅ 对于文章中部分内容不理解

✅ 解答我文章中一些疑问

✅ 认为某些交互,功能需要优化,发现BUG

✅ 想要添加新功能,对于整体的设计,外观有更好的建议

最后感谢各位的耐心观看,既然都到这了,点个 👍赞再走吧!

相关推荐
万亿少女的梦16839 分钟前
基于Python的高考志愿填报辅助系统设计与实现
java·spring boot·python·mysql·vue
万亿少女的梦16844 分钟前
基于SpringBoot与Vue的历史博物馆展品展示与游客管理系统设计
spring boot·mysql·vue·系统设计·博物馆管理系统
灯澜忆梦3 小时前
MySQL 完整学习路线
学习·mysql
ClouGence3 小时前
保障公共安全,一线治安机构实时数据应用与实践
数据库·mysql·postgresql
Minxinbb4 小时前
TDSQL for MySQL 服务器重启操作
数据库·mysql·dba
渣渣灰飞5 小时前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第三节:ORDER BY + LIMIT(排序 + 分页)
数据库·学习·mysql
fengbingchun7 小时前
客户端获取服务器端MySQL数据库表中数据C++实现
mysql
渣渣灰飞8 小时前
MySQL 系统学习 第二阶段 第三章 DQL(Data Query Language)第二节:WHERE 条件查询
sql·学习·mysql
不知疲倦的仄仄9 小时前
ShardingSphere:高效管理数据库集群的终极方案
sql·mysql·oracle·database
Java小白笔记10 小时前
MySQL中存储过程大表分批删除历史数据
android·mysql·adb