Node 主要用在开发 Web 应用,koa 是目前 node 里最流行的 web 框架。
在 Node 开启一个 http 服务简直易如反掌,官网 demo。

引入http模块,http的createServer方法创建了一个http.Server的实例。
server监听3000端口。
我们传入到createServer里的函数实际是监听request事件的回调,每当请求进来,监听函数就会执行。
request事件的监听函数,其函数接受两个参数,分别是req和res。其中req是一个可读流,res是一个可写流。我们通过req获取http请求的所有信息,同时将数据写入到res来对该请求作出响应。
koa 应用
koa 如何创建一个 server, 直接上个官网的例子

中间件概念在编程中使用广泛, 不管是前端还是后端, 在实际编程中或者框架设计都有使用到这种实用的模型。
基本上,Koa 所有的功能都是通过中间件实现的。
每个中间件默认接受两个参数,第一个参数是Context对象,第二个参数是next函数。只要调用next函数,就可以把执行权转交给下一个中间件。
如果中间件内部没有调用next函数,那么执行权就不会传递下去。
多个中间件会形成一个栈结构(middle stack),以“先进后出”(first-in-last-out)的顺序执行。整个过程就像,先是入栈,然后出栈的操作
理解 Koa 的中间件机制(源码分析)
阅读源码,化繁为简,我们看看 koa 的中间件系统是如何实现的。

好了,精简结束,一不小心,去枝末节,最后只剩下不到 20 行代码。
这就是框架的核心,简化后的代码非常清晰,有点不可思议,但核心就是这么简单。
我们先分析以上代码做了什么事。
我们定义了一个middleware数组来存储中间件。
我们定一个了一个use方法来注册一个中间件。其实就是简单的push到自身的mideware这个数组中。
我们还使用了一个compose方法,传入middleware,应该是做了一些处理,返回了一个可执行的方法。
你一定对中间的compose方法很好奇,初此之外的代码都容易理解,唯独这个compose不太知道究竟做了什么。
其实,compose就是整个中间件框架的核心。
compose之外,代码已经很清楚的定义了
中间件的存储
中间件的注册
而compose方法做了最为重要的一件事
中间件的执行

高级java免费课程:https://ke.qq.com/course/131889?flowToken=1006149
全套java资料领取QQ: 514683544
网友评论