NodeJS独立开发web框架——构思实现与发布(1)
开发一个WEB服务器框架,首先要解决的是扩展性问题。扩展性顾名思义,就是通过插件或中间件的形式,扩展其功能。扩展性就是让框架支持中间件的插件形式。而实现这个构思就需要一套策略,也就是要明白用什么原理实现。
框架的构思
开发一个WEB服务器框架,首先要解决的是扩展性问题。扩展性顾名思义,就是通过插件或中间件的形式,扩展其功能。扩展性就是让框架支持中间件的插件形式。而实现这个构思就需要一套策略,也就是要明白用什么原理实现。
(小帅哥问:框架实现的方式都是一样的吗,还是有很多实现方式?)
实现的方式很多,每个人都可能不同,在这里采用的是中间件的形式,通过这种实现方式,可以学到很多开发经验和技巧。在此之前先模仿,然后超越。
构思
通过中间件的形式,为框架添加功能,那就要在执行主逻辑代码之前执行中间件,中间件应该具有顺序性。WEB服务器的request事件的触发,表示有客户访问服务器资源。那么,我们知道服务器主逻辑,就是为了响应request事件的。
前两天的代码中,我们把主逻辑放在 handle 函数中,也就是说在handle上做文章,也许就能实现这种构思。
下面是构思的伪代码:
function handle(req,res){ middle1(req,res); middle2(req,res); middle3(req,res); 主逻辑代码 } server.on("request",handle);
真实的实现不会这么写,但这样会更直观清晰。构思明确后,接下来就要实现。下一节,我们将实现这种构思。
很赞哦! ( 0
)
相关文章
- ng-switch on、ng-if/ng-show/ng-hide/ng-disabled标签
- angularjs分页教程
- DoraCMS 2.1.2 以下升级到新版本的操作流程
- Nodejs cms内容管理框架 DoraCMS v2.1.3 版本更新
- DoraCMS 2.1.3 尝鲜体验
- Nodejs cms内容管理框架 DoraCMS v2.1.2 版本更新
- Vscode 前端开发必备插件推荐
- Nodejs cms内容管理框架 DoraCMS v2.1.1 版本更新
- javascript 数据类型学习笔记
- DoraCMS 后台UI的一些小调整
- 关于利用input file 移动端上传的问题处理
- DoraCMS运行求助