CNode

初次接触nodejs,也写个web框架来练手

分享
Ttim1020__legacy_5502622c73263b0e4eef9b22发布于11 年前最后回复11 年前5 回复5472 浏览0 收藏

前段时间接触了下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)

L
leapon#1·11 年前

花了不少功夫啊,赞一个。

C
captainblue2013#2·11 年前

很好,有点rrestjs最初版本的样子, 继续努力啊

C
chapgaga#3·11 年前

楼主用thinkphp?

S
sxlzll#4·11 年前

赞 自豪地采用 CNodeJS ionic

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

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

参与回复
登录后即可参与回复。登录