# thinkjs命令
[TOC=2,3]
以全局模式安裝 thinkjs 模塊后,系統下就會有 thinkjs 命令,在終端執行?`thinkjs -h`?可以看到詳細介紹。
~~~
Usage: thinkjs [command] <options ...>
Commands:
new <projectPath> create project
module <moduleName> add module
controller <controllerName> add controller
service <serviceName> add service
model <modelName> add model
middleware <middlewareName> add middleware
adapter <adapterName> add adapter
Options:
-h, --help output usage information
-V, --version output the version number
-e, --es6 use es6 for project, used in `new` command
-r, --rest create rest controller, used in `controller` command
-M, --mongo create mongo model, used in `model` command
-R, --relation create relation model, used in `model` command
-m, --mode <mode> project mode type(mini, normal, module), default is module, used in `new` command
~~~
## 創建項目
創建項目可以通過?`thinkjs new <projectPath>`?來執行,如:
~~~
thinkjs new thinkjs_demo;
~~~
#### ES6 方式
如果想創建 ES6 模式的項目,需要加上?`--es6`?參數,這樣生成文件的里代碼都是 ES6 語法的。如:
~~~
thinkjs new thinkjs_demo --es6
~~~
#### 設置項目模式
默認創建的項目是按模塊來劃分的。如果項目比較小,不想按模塊來劃分的話,可以創建項目時指定?`--mode`參數。如:
~~~
thinkjs new thinkjs_demo --mode=mini
~~~
支持的模式列表如下:
* `mini`?單模塊項目,用于很簡單的項目。
* `normal`?普通項目,模塊在功能下劃分。
* `module`?按模塊劃分,大型項目或者想嚴格按模塊劃分的項目。
`注:`創建項目后,會在項目下創建一個名為?`.thinkjsrc`?的隱藏文件,里面標識了當前項目的一些配置,該配置會影響后續創建文件,所以需要將該文件需要納入到版本庫中。
## 添加模塊
創建項目時會自動創建模塊?`common`?和?`home`,如果還需要創建其他的模塊,可以在項目目錄下通過?`thinkjs module [name]`?命令來創建。如:
~~~
thinkjs module admin
~~~
執行完成后,會創建目錄?`src/admin`,以及在該目錄下創建對應的文件。
## 添加 middleware
可以在項目目錄下通過?`thinkjs middleware [name]`?命令來添加 middleware。如:
~~~
thinkjs middleware test;
~~~
執行完成后,會創建?`src/common/middleware/test.js`?文件。
## 添加 model
可以在項目目錄下通過?`thinkjs model [name]`?命令來添加 model。如:
~~~
thinkjs model user;
~~~
執行完成后,會創建?`src/common/model/user.js`?文件。
默認會在?`common`?模塊下創建,如果想在其他模塊下創建,可以通過指定模塊創建。如:
~~~
thinkjs model home/user;
~~~
指定模塊為?`home`?后,會創建?`src/home/model/user.js`?文件。
#### 添加 Mongo Model
默認添加的 Model 是關系數據庫的模型,如果想創建 Mongo Model,可以通過指定?`--mongo`?參數來添加。如:
~~~
thinkjs model home/user --mongo
~~~
#### 添加 Relation Model
添加關聯模型可以通過指定?`--relation`?參數。如:
~~~
thinkjs model home/user --relation
~~~
## 添加 controller
可以在項目目錄下通過?`thinkjs controller [name]`?命令來添加 controller。如:
~~~
thinkjs controller user;
~~~
執行完成后,會創建?`src/common/controller/user.js`?文件,同時會創建?`src/common/logic/user.js`?文件。
默認會在?`common`?模塊下創建,如果想在其他模塊下創建,可以通過指定模塊創建。如:
~~~
thinkjs controller home/user;
~~~
指定模塊為?`home`?后,會創建?`src/home/controller/user.js`?文件。
#### 添加 Rest Controller
如果想提供 Rest API,可以帶上?`--rest`?參數來創建。如:
~~~
thinkjs controller home/user --rest;
~~~
## 添加 service
可以在項目目錄下通過?`thinkjs service [name]`?命令來添加 model。如:
~~~
thinkjs service github; #創建調用 github 接口的 service
~~~
執行完成后,會創建?`src/common/service/github.js`?文件。
默認會在?`common`?模塊下創建,如果想在其他模塊下創建,可以通過指定模塊創建。如:
~~~
thinkjs service home/github;
~~~
指定模塊為?`home`?后,會創建?`src/home/service/github.js`?文件。
## 添加 adapter
可以通過?`thinkjs adapter [type]/[name]`?來創建 adapter。如:
~~~
thinkjs adapter template/dot
~~~
執行后會創建文件?`src/common/adapter/template/dot.js`,表示創建一個名為 dot 的模版類型 adapter。
- 快速入門
- 介紹
- 創建項目
- 項目結構
- 代碼規范
- 升級指南
- 進階應用
- 模塊
- 控制器
- 視圖
- 配置
- 路由
- 模型
- 介紹
- 事務
- 關聯模型
- Mysql
- MongoDB
- SQLite
- Adapter
- 介紹
- Cache
- Session
- WebSocket
- Template
- 擴展功能
- thinkjs 命令
- 靜態資源訪問
- Middleware
- Service
- Cookie
- 錯誤處理
- 錯誤信息
- 數據校驗
- 國際化
- 路徑常量
- REST API
- 定時任務
- 線上部署
- 推薦模塊
- API
- think
- think.base
- think.http.base
- http
- controller
- rest controller
- model
- model.mongo
- middleware