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

第七篇: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 学习之旅吧!

📘 全局中间件

// 中间件
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');
})

📘 路由中间件

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

 📘 日志中间件

// 日志中间件
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

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

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

http://www.lryc.cn/news/291092.html

相关文章:

  • Jenkins自动化打包
  • 【服务端性能测试】性能测试策略如何做
  • 透明拼接屏造型:多样拼接与影响因素
  • c# 对路径的访问被拒绝
  • 【数据结构】单调队列
  • 《统计学习方法:李航》笔记 从原理到实现(基于python)-- 第5章 决策树(代码python实践)
  • 电脑可以设置代理IP吗
  • Zookeeper服务注册与发现实战
  • 【LeetCode】每日一题 2024_1_30 使循环数组所有元素相等的最少秒数(哈希、贪心、扩散)
  • uni-app vite+ts+vue3模式 集成微信云开发
  • 一个程序入库出现死锁问题的排查
  • 记录解决报错--These dependencies were not found jsencrypt lodash-es
  • 【极数系列】Flink集成DataSource读取集合数据(07)
  • React hooks子组件暴露方法示例
  • 数据结构:大顶堆、小顶堆
  • 电加热热水器上架亚马逊美国站需要的UL174报告
  • 使用visual studio写一个简单的c语言程序
  • 怎么创建facebook广告
  • pdf怎么转成高清图?pdf在线转换器推荐分享
  • postgresql 查询缓慢原因分析
  • N65总账凭证管理凭证查询(sql)
  • 投资1300万欧元!芬兰正式启动量子旗舰项目
  • 【3分钟开服】幻兽帕鲁服务器一键部署保姆教程
  • PandaWallet :Web3.0世界的入口
  • 微软Azure-openAI 测试调用及说明
  • java 图书管理系统 spring boot项目
  • Ubuntu系统安装 Redis
  • 简单记录一下如何安装python以及pycharm(图文教程)(可供福建专升本理工类同学使用)
  • 浏览器内存泄漏排查指南
  • ClickHouse(22)ClickHouse集成HDFS表引擎详细解析