千家信息网

node有哪些中间件

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章给大家分享的是有关node有哪些中间件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。node中间件有:1、koa-bodyparser;2、koa-body;3、静
千家信息网最后更新 2025年11月07日node有哪些中间件

这篇文章给大家分享的是有关node有哪些中间件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

node中间件有:1、koa-bodyparser;2、koa-body;3、静态资源管理器koa-static;4、cors;5、koa-cors;6、koa-cors2设置请求头等等。

本文操作环境:Windows7系统,nodejs10.16.2版,Dell G3电脑。

node中间件类型:

node中间件就是封装在程序中处理http请求的功能。node中间件是在管道中执行。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。

中间件为主要的逻辑业务所服务,可分为:应用级中间件、路由级中间件、内置中间件、第三方中间件、错误级中间件。

node常用的中间件:

在node的学习过程中积累了许多好用的中间件。这些中间件大部分要个koa配合使用

1、koa-bodyparser

这个插件使用来解析前端post请求带来的参数的

//入口文件const bodyParser = require('koa-bodyparser');app.use(bodyParser({//设置可以接收的数据类型    enableTypes:['json', 'form', 'text']}))async function (ctx) {    console.log(ctx.request.body)    ctx.req.on('data',(data) => {        console.log(JSON.parse(data),'文件')    })}

在没有引入koa-bodyparser的情况下只能通过ctx.req.on('data',callback)来获取参数

而引入中间件后只要ctx.request.body就可以获取到参数。相比第一种便利很多。

2、koa-body

这个插件是用来获取请求中上传的文件和文件信息比如图片过zip文件

const koaBody    = require('koa-body')app.use(koaBody({        multipart: true,        formidable: {            maxFileSize: 20 * 1024 * 1024    // 设置上传文件大小最大限制,默认2M        }    }))

在请求的处理中就可以直接通过ctx.request.files就能获取到所有上传的文件的信息。

注意!!!用了koa-body就不要在使用koa-bodyparser会冲突导致前端的post请求返回的status码为canceled

3、静态资源管理器koa-static

在本地测试的时候我上传了一张图片,然后将图片地址打印后是一长串的c://.../name/.png,这样虽然在本地能够访问但是如果放到服务器上就行不通了!

通过引入koa-static可以将静态文件地址指定到项目路径上的某个文件夹然后通过koa监听的端口直接http://192.168.0.177:3030/name.png就能访问图片了

const koaStatic  = require('koa-static')app.use(koaStatic('./public'))//括号中是设置的静态文件路径

4、cors、koa-cors、koa-cors2设置请求头

这几个中间件基本我都是用来配置跨域和请求头的信息

const cors       = require('koa2-cors') app.use(cors({    exposeHeaders: ['multipart/form-data','application/x-www-form-urlencoded']}))

可以自己设置参数也可以不设置参数直接app.use(cors())就可以跨域。

这里说到跨域就顺便提一提原生node跨域的设置方法(同样可以设置请求头的各种配置)

app.use(async (ctx, next) => {   ctx.set('Access-Control-Allow-Origin', ctx.headers.origin)//'*'有可能会问题   ctx.set('Access-Control-Allow-Credentials', 'true')   ctx.set('Access-Control-Allow-Headers', 'Origin ,multipart/form-data, X-Requested-With, Content-Type, Accept')   await next()})

感谢各位的阅读!关于"node有哪些中间件"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

中间件 文件 参数 图片 静态 资源 服务 管理 信息 内容 前端 地址 插件 更多 服务器 篇文章 类型 系统 资源管理 路径 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 2021年日本海产品数据库 土拨鼠网络技术待遇怎么样 脑软件开发创始人 软件开发工程师项目奖金 宝可梦阿尔宙斯服务器 16年互联网科技园 观察者模式 数据库 升级系统后显示无法连接服务器 软件开发线上培训 专业性网络技术服务是真的吗 宽城区品质网络技术咨询排名靠前 win8 连接数据库 手机系统服务器更新 要求重视保密制度和网络安全 启智芯联南京软件开发有限公司 初中学生校园网络安全自我保护 周村租房网络安全 虚拟交换网络技术只是 达梦数据库报错510 网络安全教育建议怎么写 手游方舟苹果安卓服务器不一样 数据库设计心得体会 浦东新区新能源网络技术生产厂家 备案后更换服务器 如何做网络安全线上知识竞答 公安局网络安全保密 换服务器seo 网络安全的法律是哪些 计算机网络技术需要哪两个支持 阿里云如何选择服务器配置
0