初次接触nodejs,也写个web框架来练手
发布于 3 年前 作者 tim1020 2273 次浏览 最后一次编辑是 2 年前 来自 分享

前段时间接触了下nodejs,也看了下express,发现这个在nodejs流行的框架与我日常所用的php所流行的轻量框架相比,过于复杂了,所以就边学边写,自己搞了个简单的MVC框架,定名为ec吧,目标是易用易学易扩展。

周未抽了点时间完成了一个小demo,并完善了相关的使用手册文档,就放上gitHub,权作纪念吧。

GitHub

https://github.com/tim1020/ec

特性

  • 三种路由规则可配 /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?

nodejs最不习惯的还是“异步”,例如:很多时候,实现一个业务逻辑,基本都是同步的。先干什么,然后才能干什么(比如创建一个用户,要先查查用户名是否已存在,添加成功后,再更新一下会话信息),用nodejs来写就是一堆的callback。

理想的状况应该默认是同步,需要时才声明是异步的。。。这就不需要一堆的“流程控制”的包了。

回到顶部