ThinkJS基於Promise的Node.js MVC框架

羅小胖發表於2014-10-08
        介紹
        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         ---- 資料目錄
│   │   ├── Log
│   │   └── Temp
│   └── View
│       └── Home
│           └── index_index.html      ---- 模版檔案,預設使用ejs模版引擎
├── ctrl.sh              ---- 專案啟動、停止指令碼
└── www
    ├── index.js         ---- 入口檔案
    └── resource         ---- 靜態資源目錄
        ├── css          ---- css檔案
        ├── img          ---- 圖片檔案
        ├── js           ---- js檔案
        ├── module       ---- 第三方的一些元件
        └── swf          ---- flash檔案
並且預設為開發模式,該模式下檔案修改後立即生效,不用重啟Node.js服務。

詳情請登入ThinkJS官網:http://www.thinkjs.org/
評論(2)

相關文章