所在的位置: js >> js前景 >> 1分钟前端06nodejs,e

1分钟前端06nodejs,e

一.Express中间件原理详解1.中间件本质:就是一个函数;2.中间件功能:(1)执行任何代码;(2)修改请求和响应对象;(3)调用堆栈的下一个中间件;通俗的理解,就像一个管道,新的管道可以对流过的请求,数据做处理;3.中间件分类:五类,原理相同,用法不同而已;(1)应用级中间件;(2)路由级;(3)错误处理类;(4)内置(5)第三方;4.原理:(1)源码中与中间件相关的三个文件(2)application.js中的use方法,把我们app.use注册的中间件和路由方法交给了Router类来处理。(3)子中间件,同时挂载一系列中间件函数,就会在一个挂载点上创建子中间件栈;二.Express和KOA的对比1.相同点:基于node的服务端开发框架,处理的重点三个:HTTPRequest和HTTPRespone两个对象的封装和处理;应用声明周期的维护;视图的处理;2.总体的区别:(1)express基于connect中间件框架,自身封装了很多功能,比如路由、视图;KOA基于co中间件框架,自身集成的功能很少,需要自行require;(2)回调函数的特性:KOA1是基于ES6的generator的,解决了回调黑洞问题;KOA2把generatoryield换成语义化更好async和await了;3.HTTPRequest对象(1)express使用req.query即可拿到get请求的url格式化对象;post请求需要body-parser中间件;(2)koa使用this.request.query拿到get请求的url格式化对象;post请求需要用co-body中间件;4.路由Route(1)express中使用,all(所有),get,post注意app.get,一个参数表示获取公共的配置项,两个参数时才作为路由处理。(2)KOA中要引入route中间件使用get、post方法,再把route挂载到app.use上;5.HTTPResponeexpress使用res对象;KOA绑定到ctx.body上,输出json需要引人中间件;三.node的基本api:4句和5句


转载请注明:http://www.aierlanlan.com/cyrz/8787.html