w3ctech

【奇舞团开源】thinkjs - 基于Promise的Node.js MVC框架

介绍

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服务。

更多

w3ctech微信

扫码关注w3ctech微信公众号

共收到7条回复

  • 回复此楼
  • 祝贺thinkjs开源,发布1.0

    回复此楼
  • 感觉要火

    回复此楼
  • 回复此楼
  • 成银大大,早知道面试的时候提前准备下和您聊聊thinkjs多好。。您差点把我问哭了。。哈哈

    回复此楼
  • 哈哈

    回复此楼
  • 现在是不是应该升到支持es6了。。。在参考参考yii2 lavaral

    回复此楼