背景介绍
一般而言,大多数框架都会提供 Cli 终端工具
,用于通过 命令行
执行一些工具类脚本
CabloyJS 提供的 Cli 终端工具
却不同凡响。更确切的说,CabloyJS 提供的是 Cli 终端引擎
,由一套Cli 终端运行机制
+ 泛滥命令集
组成。CabloyJS 是一个基于模块化体系的全栈框架,因而,命令集也由具体的模块提供。因而,咱们能够通过装置各种模块来动静增加能够运行的命令集,从而让 CabloyJS 的 Cli 终端
变得无比弱小、性能也无比丰盛
特点
可有限裁减
:因为是通过装置模块来提供命令集,因而能够有限裁减- 同时反对
开发环境
和生产环境
:当咱们在命令行输出指令后,零碎会主动调用后端服务的 API 接口,执行具体的脚本逻辑。而后端服务既能够是在本地运行的开发服务,也能够是在近程运行的生成环境 - 简化
系统管理
和运维工作
:正是因为Cli 终端
能够用于生产环境,所以许多后盾管理工作都能够通过 API 接口裸露进去,从而能够间接通过命令行进行驱动 - 欠缺的
权限管制
:后端服务裸露的所有 API 接口都应用资源受权机制进行管制,Cli 终端
通过凋谢认证 Token
进行受控拜访
如何应用
Cli 终端
的应用标准如下:
$ npm run cli [command] [args] -- [options]
– command
命名标准:
因为 command 由业务模块提供,为了进一步标准治理,在业务模块外部还将提供的 commands 进行分组。因而,command 命名标准如下:
moduleName:groupName:commandName
比方,模块 a-clibooster
提供了一个分组 create
,分组create
提供了一个module
命令,那么,残缺的 command 命名就是:a-clibooster:create:module
-
非凡约定:
为了简化 command 的输出,特地做了如下约定:- 如果模块名称是
a-clibooster
,则能够不输出 - 如果分组名称是
default
,则能够不输出
- 如果模块名称是
举例如下:
全称 | 简称 |
---|---|
a-clibooster:default:list | ::list |
a-clibooster:create:module | :create:module |
test-party:default:demo | test-party::demo |
– args
命令后是否能够追随参数,追随多少参数,由具体的命令决定,例如:
# 装置模块 test-flow 和 test-note
$ npm run cli :store:sync test-flow test-note
– options
命令后是否能够追随选项,追随多少选项,也由具体的命令决定,例如:
# 向套件 test-suite1 增加模块 test-module1
$ npm run cli :create:module test-module1 -- --suite=test-suite1
– help
如果咱们不晓得如何应用某个命令,能够间接打印出帮忙信息,例如
$ npm run cli :create:module -- --help
– version
还可查问某个命令的版本号,例如:
$ npm run cli :create:module -- --version
– 列出命令
如果要查问以后零碎一共反对多少命令,能够按如下操作:
# 列出所有命令
$ npm run cli ::list
# 列出模块 test-party 提供的命令
$ npm run cli ::list -- --module=test-party
# 列出模块 a -clibooster 内 create 分组提供的命令
$ npm run cli ::list -- --module=a-clibooster --group=create
内置命令
CabloyJS 通过模块 a-clibooster
内置了大量罕用的命令,具体如下:
命令 | 形容 |
---|---|
::list | 列出所有命令 |
:token:add | 增加凋谢认证 Token |
:token:delete | 删除凋谢认证 Token |
:token:list | 列出所有凋谢认证 Token |
:tools:babel | 编译 JS 文件 |
:tools:icons | 解决图标模块 |
:create:suite | 新建套件 |
:create:module | 新建模块 |
:create:atom | 新建原子类型 |
:create:controller | 新建控制器(包含 Route、Controller、Service 一套文件) |
:store:sync | 装置来自 Cabloy 商店的 套件 / 模块 |
:store:publish | 将本地开发的 套件 / 模块 公布到 Cabloy 商店 |
简写命令
CabloyJS 还提供了更多简写命令,能够亲自体验一番,肯定会显著晋升开发效率
$ npm run cli
$ npm run cli :
$ npm run cli ::
$ npm run cli :default:
$ npm run cli :create:
$ npm run cli test-party:
$ npm run cli test-party::
$ npm run cli test-party:default:
如何创立 Cli 命令
如果咱们想创立本人的 Cli 命令,也十分简便,参见文档:如何创立 Cli 命令
相干链接
- 文档: https://cabloy.com/
- GitHub: https://github.com/zhennann/c…