精华 【奇舞团开源】thinkjs - 基于Promise的Node.js MVC框架
发布于 4个月前 作者 welefen 883 次浏览 来自 分享

介绍

thinkjs是奇舞团开源的一款Node.js MVC框架,该框架底层基于Promise来实现,很好的解决了Node.js里异步回调的问题。thinkjs具有如下的特性:

  • 支持Http、命令行、WebSocket、Restful等多种访问方式
  • C(Core) + B(Behavior) + D(Driver)架构
  • 高度封装的Model,无需手工写sql语句
  • 封装了Db、Session、Cache等功能
  • 开发模式下修改后立即生效

由来

Node.js下的框架莫过于express了,但express并没有解决异步带来的开发不便的问题,同时express提供的功能过于简单,实际项目中要写很多代码。虽然koa框架使用es6 generator function解决了一些异步带来的问题,但需要在非稳定版0.11.x下才能运行。

鉴于此,thinkjs底层使用Promise来解决异步嵌套的问题,同时参考了优秀的PHP框架ThinkPHP,让Node.js下开发更加简单高效。

快速使用

安装thinkjs非常简单,使用如下的方式:

npm install -g thinkjs-cmd

安装完成后,系统下就有thinkjs命令了,可以通过下面的命令快速创建项目:

# 在合适的位置创建一个新目录,new_dir_name为你想创建的文件夹名字
mkdir new_dir_name; 
# 通过thinkjs命令创建项目
thinkjs new_dir_name

项目创建完成后,如果当前环境有浏览器,会自动打开浏览器访问 http://127.0.0.1:8360, 看到hello thinkjs表示项目创建成功了。

生成的目录结构如下:

├── App
│   ├── Common
│   │   └── common.js    ---- 通用函数文件,一般将项目里的一些全局函数放在这里
│   ├── Conf
│   │   └── config.js    ---- 项目配置文件
│   ├── Lib
│   │   ├── Behavior     ---- 行为类存放位置
│   │   ├── Controller
│   │   │   └── Home
│   │   │       └── IndexController.js   ---- 逻辑控制类
│   │   └── Model        ---- 模型类
│   ├── Runtime          ---- 运行时的一些文件
│   │   ├── Cache        ---- 缓存目录
│   │   ├── Data         ---- 数据目录
│   └── View
│       └── Home
│           └── index_index.html      ---- 模版文件,默认使用ejs模版引擎
├── ctrl.sh              ---- 项目启动、停止脚本
└── www
    ├── index.js         ---- 入口文件
    └── resource         ---- 静态资源目录

并且默认为开发模式,该模式下文件修改后立即生效,不用重启Node.js服务。

更多

12 回复

虽然不太喜欢thinkphp这种模式,还是支持一下。可以帮到很多人啊

看了看你们的博客,内容很丰富啊,如果是原创的,欢迎全文发来社区这里,帮你们加精宣传宣传。

@alsotang 你是说文档么?肯定是原创的啊

@coolicer 那你喜欢什么模式呢?

@welefen 我说的是博客,如果是第一手的翻译也欢迎的。

@alsotang 系统的 @ 经常有问题,明明是发邮箱的,然后影是 @ 了别人 0. 0

@xadillax 发邮箱是什么?

@alsotang QQ20140922-7@2x.png 像这样的QAQ

@Ricardo-Li @xadillax 这个问题在 github 的 nodeclub 那里有 issue,一直没解。。你可以去看看,就是有个地方的正则需要处理。

回到顶部