初次接触nodejs,也写个web框架来练手
前段时间接触了下nodejs,也看了下express,发现这个在nodejs流行的框架与我日常所用的php所流行的轻量框架相比,过于复杂了,所以就边学边写,自己搞了个简单的MVC框架,定名为ec吧,目标是易用易学易扩展。
周未抽了点时间完成了一个小demo,并完善了相关的使用手册文档,就放上gitHub,权作纪念吧。
GitHub
特性
- 三种路由规则可配 /c/m ,/c.m, /?c=c&m=m),即 访问/c/m时,自动路由到controler下的c.js并执行m方法
- req对象二次封装:在controller中可直接使用该对象获取各种请求内容,包括 post,get,cookie
- req对象支持mulitpart的解释(即支持post上传文件的解释,可直接用req.files获取上传文件内容)
- res对象,包括setCookie,showErr和模板处理render
- 可以自定义模板引擎,只需引擎实现renderFile(tplFile,data)方法来渲染模板。
- 会话话管理session,实现了set,get,getAll,unset方法,支持自定义session handler
- mysql的dao封装
- 日志处理log,支持分级,支持设置控制台输出或文件输出,可单独关闭框架debuglog,内置accesslog输出
- 静态文件服务(支持304)
- 辅助函数(helper),支持in_array,formatDate,getUTCTime,md5等方法
当然,这只是个我练手时的玩具,我接触nodejs也只是为了了解一下新兴的东西,也没打算在此深入下去,所以。。。大家可以随便拍。
5 回复
花了不少功夫啊,赞一个。
很好,有点rrestjs最初版本的样子, 继续努力啊
楼主用thinkphp?
赞 自豪地采用 CNodeJS ionic
nodejs最不习惯的还是“异步”,例如:很多时候,实现一个业务逻辑,基本都是同步的。先干什么,然后才能干什么(比如创建一个用户,要先查查用户名是否已存在,添加成功后,再更新一下会话信息),用nodejs来写就是一堆的callback。
理想的状况应该默认是同步,需要时才声明是异步的。。。这就不需要一堆的“流程控制”的包了。