ThinkJS 3.0
安装 ThinkJS 命令
0 |
$ npm install -g think-cli |
如果安装很慢的话,可以尝试使用 taobao 的源进行安装。具体如下:
0 |
npm install -g think-cli --registry=https://registry.npm.taobao.org --verbose |
卸载旧版本命令
0 |
$ npm uninstall -g thinkjs |
创建项目
执行 thinkjs new [project_name]
来创建项目(单模块),如:
0 1 2 3 4 5 6 7 |
$ thinkjs new demo ? Project name [项目名称,可以与文件夹名称相同,如:demo,也可以使用其它名称] ? Project description [项目描述] ? Author [作者] ? Do you want to turn on babel? (y/N) [Node.js 版本大于 8.0.0则不使用babel编译,输入 N ] $ cd demo $ npm install $ npm start |
thinkjs多模块创建项目命令:
0 1 2 3 4 5 |
$ thinkjs new demo -m ? Project name [项目名称] ? Project description [项目描述] ? Author [作者] ? Do you want to turn on babel? (y/N) [Node.js 版本大于 8.0.0则不使用babel编译,输入 N ] ? Please enter a default module name (home) [默认模块名称] |
生成结构很快的,之后就卡在这里,光标闪闪闪,也没有任何提示。那就手动关闭,Ctrl+C,再如下操作:
0 1 2 |
$ cd demo; $ npm install; $ npm start; |
执行完成后,控制台下会看到类似下面的日志:
0 1 2 3 |
[2019-11-15 15:21:35.408] [INFO] - Server running at http://127.0.0.1:8360 [2019-11-25 15:21:35.412] [INFO] - ThinkJS version: 3.0.0-beta1 [2019-11-15 15:21:35.413] [INFO] - Enviroment: development [2019-11-15 15:21:35.413] [INFO] - Workers: 8 |
打开浏览器访问 http://127.0.0.1:8360/
,如果是在远程机器上创建的项目,需要把 IP 换成对应的地址。
项目结构
默认创建(单模块)的项目结构如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|--- development.js //开发环境下的入口文件 |--- nginx.conf //nginx 配置文件 |--- package.json |--- pm2.json //pm2 配置文件 |--- production.js //生产环境下的入口文件 |--- README.md |--- src | |--- bootstrap //启动自动执行目录 | | |--- master.js //Master 进程下自动执行 | | |--- worker.js //Worker 进程下自动执行 | |--- config //配置文件目录 | | |--- adapter.js // adapter 配置文件 | | |--- config.js // 默认配置文件 | | |--- config.production.js //生产环境下的默认配置文件,和 config.js 合并 | | |--- extend.js //extend 配置文件 | | |--- middleware.js //middleware 配置文件 | | |--- router.js //自定义路由配置文件 | |--- controller //控制器目录 | | |--- base.js | | |--- index.js | |--- logic //logic 目录 | | |--- index.js | |--- model //模型目录 | | |--- index.js |--- view //模板目录 | |--- index_index.html |
thinkjs多模块初装目录结构,如下:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|--- development.js // 开发环境下的入口文件 |--- nginx.conf // nginx 配置文件 |--- package.json |--- pm2.json // pm2 配置文件 |--- production.js // 生产环境下的入口文件 |--- README.md |--- src | |--- common // 公共模块目录 | | |--- bootstrap // 启动自动执行目录 | | | |--- master.js // Master 进程下自动执行 | | | |--- worker.js // Worker 进程下自动执行 | | |--- config // 配置文件目录 | | | |--- adapter.js // adapter 配置文件 | | | |--- config.js // 默认配置文件 | | | |--- config.production.js // 生产环境下的默认配置文件,和 config.js 合并 | | | |--- extend.js // extend 配置文件 | | | |--- middleware.js // middleware 配置文件 | | | |--- router.js // 自定义路由配置文件 | |--- home // 默认模块目录 | | |--- controller // 控制器目录 | | | |--- base.js | | | |--- index.js | | |--- logic // logic 目录 | | | |--- index.js | | |--- model // 模型目录 | | | |--- index.js |--- view // 模板目录 | |--- index_index.html |
在项目根目录执行以下命令可以实现快速操作:
创建项目new <projectPath>
添加模块module <moduleName>
添加控制器controller <controllerName> [module]
添加服务service <serviceName>
添加模型model <modelName>
添加中间件middleware <middlewareName>
添加适配器adapter <adapterName>
添加插件plugin <pluginPath>