背景介绍

一般而言,大多数框架都会提供Cli终端工具,用于通过命令行执行一些工具类脚本

CabloyJS提供的Cli终端工具却不同凡响。更确切的说,CabloyJS提供的是Cli终端引擎,由一套Cli终端运行机制+泛滥命令集组成。CabloyJS是一个基于模块化体系的全栈框架,因而,命令集也由具体的模块提供。因而,咱们能够通过装置各种模块来动静增加能够运行的命令集,从而让CabloyJS的Cli终端变得无比弱小、性能也无比丰盛

特点

  1. 可有限裁减:因为是通过装置模块来提供命令集,因而能够有限裁减
  2. 同时反对开发环境生产环境:当咱们在命令行输出指令后,零碎会主动调用后端服务的API接口,执行具体的脚本逻辑。而后端服务既能够是在本地运行的开发服务,也能够是在近程运行的生成环境
  3. 简化系统管理运维工作:正是因为Cli终端能够用于生产环境,所以许多后盾管理工作都能够通过API接口裸露进去,从而能够间接通过命令行进行驱动
  4. 欠缺的权限管制:后端服务裸露的所有API接口都应用资源受权机制进行管制,Cli终端通过凋谢认证Token进行受控拜访

如何应用

Cli终端的应用标准如下:

$ npm run cli [command] [args] -- [options]

- command

  1. 命名标准:因为command由业务模块提供,为了进一步标准治理,在业务模块外部还将提供的commands进行分组。因而,command命名标准如下:
moduleName:groupName:commandName

比方,模块a-clibooster提供了一个分组create,分组create提供了一个module 命令,那么,残缺的command命名就是:a-clibooster:create:module

  1. 非凡约定:为了简化command的输出,特地做了如下约定:

    1. 如果模块名称是a-clibooster,则能够不输出
    2. 如果分组名称是default,则能够不输出

举例如下:

全称简称
a-clibooster:default:list::list
a-clibooster:create:module:create:module
test-party:default:demotest-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...