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
)