thinkjs - 基于Promise的Node.js MVC框架(Nodejs)
thinkjs - 基于Promise的Node.js MVC框架(Nodejs)
介绍
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框架(Nodejs)
介绍
thinkjs
是奇舞团开源的一款 Node.js MVC 框架,它基于 Promise 实现,有效解决了 Node.js 中异步回调的问题。thinkjs
的主要特性包括:
- 支持多种访问方式:HTTP、命令行、WebSocket 和 RESTful。
- 采用 C (Core) + B (Behavior) + D (Driver) 架构。
- 提供高度封装的 Model,无需手动编写 SQL 语句。
- 封装了数据库操作、Session 和缓存等功能。
- 开发模式下修改后立即生效。
由来
尽管 Node.js 下有许多流行的框架,如 Express 和 Koa,但它们在处理异步问题上仍存在不足。Express 并没有很好地解决异步带来的开发不便,而 Koa 虽然使用 ES6 generator function 解决了部分问题,但在非稳定版环境下运行。因此,thinkjs
选择了基于 Promise 来解决异步嵌套问题,并借鉴了 PHP 框架 ThinkPHP 的设计理念,使得 Node.js 开发变得更加简单高效。
快速使用
安装
npm install -g thinkjs-cmd
创建项目
mkdir my_project
cd my_project
thinkjs new
启动项目
node app/index.js
项目创建完成后,若当前环境有浏览器,会自动打开浏览器访问 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
├── ctrl.sh
└── www
├── index.js
└── resource
示例代码
IndexController.js
module.exports = class IndexController {
async indexAction() {
return 'hello thinkjs';
}
}
index_index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Hello ThinkJS</title>
</head>
<body>
<h1><%= title %></h1>
</body>
</html>
config.js
module.exports = {
port: 8360,
};
更多
- GitHub: https://github.com/welefen/thinkjs
- 文档: http://thinkjs.org/doc.html
- QQ交流群:339337680
通过以上介绍和示例代码,希望你能够快速上手并使用 thinkjs
进行 Node.js 项目的开发。
虽然不太喜欢thinkphp这种模式,还是支持一下。可以帮到很多人啊
看了看你们的博客,内容很丰富啊,如果是原创的,欢迎全文发来社区这里,帮你们加精宣传宣传。
顶个!
支持哦!
看了看还行
TP优秀。。。。。。
支持,顶起
支持,不错