基於Promise的Node.js MVC框架——ThinkJS 1.0釋出
介紹
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服務。
更多
- github: https://github.com/welefen/thinkjs
- 文件: http://thinkjs.org/doc.html
- QQ交流群: 339337680
相關文章
- ThinkJS基於Promise的Node.js MVC框架PromiseNode.jsMVC框架
- 基於 Koa.js 的 Node.js MVC 框架Node.jsMVC框架
- Node.js CQRS 框架 釋出 0.6.5Node.js框架
- ThinkJS 3 正式版釋出!JS
- PHP框架Raxan1.0最終版釋出PHP框架
- 桌面應用開發框架Griffon 1.0釋出框架
- 10個最好的Node.js MVC框架Node.jsMVC框架
- BackBone.js 0.9.10 釋出,JS 的 MVC 框架JSMVC框架
- 與Node.js分道揚鑣的io.js釋出1.0版Node.js
- 基於 ThinkJS 的 WebSocket 通訊詳解JSWeb
- 多端統一開發框架 Taro 1.0 正式釋出框架
- 釋出 umi 1.0 ???
- 基於Koa2打造屬於自己的MVC框架MVC框架
- 重磅!滴滴跨端框架Chameleon 1.0正式釋出跨端框架Chameleon
- Westore 1.0 正式釋出 - 小程式框架一個就夠框架
- Apache Isis 1.0 釋出,領域驅動開發框架Apache框架
- 基於GO語言框架Gin開發的MVC輪子框架:GinLaravelGo框架MVCLaravel
- UMind1.0釋出
- Google 釋出 ARCore 1.0Go
- AsteroidOS 1.0 釋出AST
- 騰訊 AlloyCrop 1.0 釋出
- Rust 1.0 正式釋出Rust
- [譯] 基於 Node.js 的 Alexa Skills Kit 釋出了!Node.js
- 毛德操:寫於龍井1.0釋出之際
- Reactor: Spring釋出基於JVM的非同步事件驅動框架ReactSpringJVM非同步事件框架
- Swoft 框架 1.0 正式來襲,首個基於 Swoole 原生協程的 PHP 框架框架PHP
- ? Hyperf v1.0 釋出,全新企業級的 PHP 協程框架PHP框架
- Omi v1.0震撼釋出 - 令人窒息的Web元件化框架Web元件化框架
- 初步瞭解Express(基於node.js的後端框架)ExpressNode.js後端框架
- Griffon and Gradle 1.0釋出Gradle
- Ktor 1.0 正式釋出:JetBrains 出品的互聯應用框架AI框架
- Omi v1.0震撼釋出 - 開放現代的Web元件化框架Web元件化框架
- Unity 揹包系統的完整實現(基於MVC框架思想)UnityMVC框架
- 【京東開源專案】微前端框架MicroApp 1.0正式釋出前端框架APP
- 實現MVC基礎框架MVC框架
- 基於promise /A+規範手寫promisePromise
- 基於 Redis 的訂閱與釋出Redis
- 分享一個基於 Node.js 的 Web 開發框架 – NokitjsNode.jsWeb框架