Express 源码仿制教程(后记)

express

至此,算是结束本篇文章了。这是第三次修改本文,并没有修改整体框架,主要是细微的排版,和修改过去记录不太准确的地方。

简单的说一下还有哪里没有介绍。

  • 关于 Application。 如果稍微看过 expross 代码的人都会发现,Application 并不是像我写的这样是一个类,而是一个中间件,一个对象,该对象使用了 mixin 方法的多继承手段,express.js 文件中的 createApplication 函数算是整个框架的切入点。

  • 关于 Router.handle。 这个函数可以说是整个 Express 框架的核心,如果理解了该函数,整个框架基本上就掌握了。我在仿制的时候舍弃了很多细节,在这里个函数里面内部有两个个关键点没说。一、处理 URL 形式的参数,这里涉及对 params 参数的提取过程。其中有一个 restore 函数使用高阶函数的方法做了缓存,仔细体会很有意思。二、setImmediate 异步返回,之所以要使用异步处理,是因为下面的代码需要运行,包括路径相关的参数,这些参数在下一个处理函数中可能会用到,这是一种常见的异步迭代手法。

  • 关于其它函数。 太多函数了,不一一列举,前文已经提到,涉及的细节太多,正则表达式,HTTP 协议层,nodejs 本身函数的使用,对于整个框架的理解帮助不大,全部舍弃。不过大多数函数都是自成体系,很好理解。

大佬,给点反馈?

平均评分 / 5. 投票数:

很抱歉,这篇文章不能帮助到你

请让我们改进这篇文章

告诉我们我们如何改善这篇文章?

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注