# 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