rabowl命令解析
项目初始化完成后,可以直接在主目录下通过npm link
生成rabowl
全局命令。也可以通过yarn
在主目录执行rablow
命令。本文通篇将使用 yarn rabowl
来讲解rabowl
命令。
获取命令行目录 yarn rabowl -h
。
指令:
cca (create-child-app) 创建子应用
Options:
--app <appName> 要创建的子应用名称
--targetDir <targetDir> 子应用所在目录,默认是 ./packages
clean 删除子应用或者删除文件文件夹
Options:
--app <appName> 要删除的子应用名称
--name <fileName> 要删除的文件或文件夹
--targetDir <targetDir> 子应用所在目录,默认是 ./packages
clear 删除所有应用的依赖 node_modules 文件夹
cm (create model) 生成 dva model 文件
Options:
--name <name> 生成文件名称或路径,以当前路径为基准
--demo <demo> 是否需要实例数据 1 为是 0 为否 非必填
crf (create react function component) 生成 react 函数组件文件 包含 index.tsx index.less
Options:
--name <name> 生成文件名称或路径,以当前路径为基准
crc (create react class component) 生成 react 类组件文件 包含 index.tsx index.less
Options:
--name <name> 生成文件名称或路径,以当前路径为基准
init 初始化项目,会根据packages目录下的 config.json 使用 git clone 所有子应用到对应的目录下
ready 初始化项目,会根据packages目录下的 config.json 使用 git clone 所有子应用到对应的目录下,不给应用安装依赖。
gitadd 针对所有应用的修改 执行 git add .
gitcommit 针对所有应用的修改 执行 git commit
Options:
--m <msg> 代码提交信息
gitpush 针对所有应用的修改 执行 git push
gitpull 针对所有应用的修改 执行 git pull
gitcheckout 针对指定的应用 执行 git checkout
Options:
--app <app> app 目录名称,不指定就是主应用
--branch <branch> 需要切换的目标分支
gitlog 针对指定的应用 执行 git log
Options:
--app <app> app 目录名称,不指定就是主应用
cca 创建子应用
yarn rabowl cca --app AppName(应用名称大驼峰)
参数有:
--app
必填,子应用的名称
--targetDir
可选,指定子应用所在目录,默认是packages
目录不建议修改
执行cca
命令后,rabowl
会自动在packages
目录下执行yarn create @umijs/umi-app
。并修改生成的package.json
,添加一些依赖@umijs/plugin-qiankun
,ahooks
,husky
,lint-staged
,validate-commit-msg
,stylelint
,stylelint-config-prettier
,stylelint-config-standard
等,并生成一些必要脚步命令。
接着会修改主应用的.umirc.ts
的qiankun
配置自动分配一个启动端口号给子应用。然后修改主应用的package.json
的启动、安装和打包脚本。
接下来根据模板生成子应用的.umirc.ts
和tsconfig.json
。
同时,在packages/config.json
中添加当前子应用的初始化配置。
最后在主应用的.gitignore
文件中添加配置,让git
忽略掉当前应用的目录。clean 删除文件/文件夹,或删除子应用
--app
子应用名称
--name
文件或目录路径相对命令执行目录
清理子应用是创建子应用的逆过程。所以在删除掉子应用所在目录之后,会清理掉packages/config.json
和主应用下.umirc.ts
、.gitignore
。并重新生成启动、安装和打包脚本。
清理文件或文件夹就比较简单了,直接全部进行删除。请注意,这里的删除不会放入回收箱。clear 清理所有应用的
node_modules
无参数,直接依次删除掉主应用,公共项目,子应用的node_modules
。方便将项目复制粘贴或者重新安装依赖。cm 生成
dva model
文件
--name
文件路径,path/fileName
fileName
小驼峰不需要写后缀,生成遵循dva
规范的model
文件。如果需要示例,可以使用第二个参数--demo 1
。crf 生成react 函数组件,包含 index.tsx index.less
--name
文件路径,path/fileName
fileName
小驼峰不需要写后缀crc 生成react 类组件,包含 index.tsx index.less
--name
文件路径,path/fileName
fileName
小驼峰不需要写后缀init 初始化项目
会根据packages
目录下的config.json
使用git clone
所有子应用到对应的目录下并修改目录名称为应用名称。最后还会给所有子应用安装依赖。ready 初始化预备项目
和init
相同功能,但是不会给所有子应用安装依赖。gitadd、gitcommit、gitpush、gitpull、gitcheckout、gitlog都是
git
相关命令,与git
命令类似。
注意的是如果使用rabowl
的gitcommit
提交代码可能会导致githooks
配置失效