c语⾔开发的cli,Package-cyy-cli
cyy-cli
⼀个⾮常简单的项⽬模板⽣成的⼯具,开发者可以通过输⼊指定的命令,然后在命令⾏界⾯中根据提⽰操作⽣成你想要的项⽬模板。此外,⽤户还可以依照提供的项⽬模板仓库配置⽂件的格式,通过指定命令上传⾃⼰的模板仓库配置⽂件,由此实现添加各种项⽬模版仓库。
使⽤场景
场景⼀:
⼀个较⼤的 SPA 项⽬,使⽤ SPA 框架开发,3个⼈负责开发,如果每个开发⼈员都⾃⼰配置⼀套 SPA,后期合并代码就会⾮常⿇烦,这时组长可以⾃⼰先写好⼀个模版上传,然后每个开发⼈员通过 cyy-cli 下载即可。
场景⼆:
单页活动需求较多,⽽每次开发⼈员都有可能不同的情况下,可以提前写好⼀个模版上传,,然后每个开发⼈员通过 cyy-cli 下载即可。
⼯作流程和策略
输⼊ cyy-cli 之后,先检查 cyy-cli 的版本是否是最新,
如果不是最新版本,可以选择更新或者继续使⽤旧版本,
接下来根据提⽰输⼊/选择您要⽣成的项⽬模版,基本流程是:在你上传的 fig.json ⾥⾯到对应的项⽬模板仓库地址,先删除之前已下载的本地旧模板,然后通过仓库地址克隆获取最新的模板,最后把拉取下载最新的项⽬模板改成你输⼊的项⽬名,复制⼀份到你当作命令⾏执⾏的⽬录下,同时⽣成的项⽬模板信息⽂件 config.info.json 到模板⽂件⾥⾯。
每次通过 cyy-cli 成功⽣成⼀个项⽬模板,都会备份⼀份在 cyy-cli 安装⽬录的备份⽂件夹⾥⾯,主要是为了防⽌⽹络不好或者⽆⽹络的时候也能获取到最新的模版。
下载 fig.json 功能是为了能让每个使⽤者可以⾃⾏配置⾃⼰的项⽬模版。
重置 fig.json 功能是为了能让每个使⽤者⾃定义 fig.json ⽂件的时候如果格式错误了导致 cyy-cli ⽆法使⽤,可以重置恢复到默认状态。
如果是上传了新的 fig.json 配置⽂件,可选择是否备份⼀份在 cyy-cli 安装包的备份⽂件夹⾥⾯,主要是为了防⽌⽹络不好或者⽆⽹络的时候也能获取当时备份时候⽣成的模版。
开发/运⾏环境
node 9.1.0
注:尽量使⽤⾼版本的 node,否则有可能会提⽰语法不⽀持。
安装
npm install cyy-cli -g
# 推荐 cnpm ⽅式安装
cnpm install cyy-cli -g
命令
⽣成模板
cyy-cli
注:默认模版仓库⾥⾯是随便填写的 github 仓库,国内克隆速度⽐较慢,建议您重新上传模版仓库配置⽂件⾥填写局域⽹或者国内的代码托管平台仓库。
上传模版(必须是 json 格式⽂件)
下载参考模版(下载下来参考,改成你的配置然后重新上传)
cyy-cli download repo
下载模版配置⽂件⾥⾯所有模版(可提前全部下载下载,当⽹络不好的时候可以直接拿下载好的本地项⽬模版) cyy-cli download temp
重置成默认的参考模版(当你上传的配置⽂件格式错误导致⽆法使⽤的时候使⽤)
cyy-cli reset repo
查看当前安装的 cyy-cli 版本
cyy-cli -V
查看 cyy-cli 帮助信息
cyy-cli -h
# 或者
cyy-cli --help
├── 请选择平台类型
├── PC端 # 1层 单选项
├── APP端 # 2层 单选项
│ ├── 请选择APP端类型
│ ├── >react-native框架
│ ├── weex框架
│ ├── mui框架
│ └── ionic框架
├── 移动端 # 3层 单选项
│ ├── 请选择移动端类型
│ ├── >单页应⽤
│ │ ├── >react框架
│ │ ├── angular框架
│ │ └── vue框架
│ └── 活动
│ ├── >普通
│ └── 抽奖
├── 项⽬名 # 必填输⼊项
├── 开发⼈员 # 必填输⼊项
├── 上线时间-⽉ # 必填输⼊项
└── 上线时间-⽇ # 必填输⼊项
"message" // 必填,单选/输⼊项的操作提⽰
"type" // 必填,单选项内容,list 为单选项,input 为输⼊项
"name" // 必填,唯⼀值,⽤于模版层级识别
"text" // 单选项显⽰的选项⽂字
"child" // ⾮必填,如果此层下⾯没有⼦选项了,可不填该属性
[{
"type": "list",
"message": "请选择平台类型",
"name": "plaform",
"text": "平台",
c语言下载什么"child": [{
"name": "mobile",
"text": "移动端",
"child": [{
"name": "spa",
"text": "单页应⽤框架",
"child": [{
"name": "react",
"text": "react框架",
"url": "github/chenyaoyi88/cyy-tool.git"
}, {
"name": "angular",
"text": "angular框架",
"url": "github/chenyaoyi88/cyy-tool.git"
}, {
"name": "vue",
"text": "vue框架",
"url": "github/chenyaoyi88/cyy-tool.git",
"child": [{
}]
}, {
"name": "act",
"text": "活动",
"child": [{
"name": "webpack",
"text": "h5-webpack",
"url": "github/chenyaoyi88/h5-webpack.git" }, {
"name": "parcel",
"text": "h5-parcel",
"url": "github/chenyaoyi88/h5-parcel.git" }]
}]
},
{
"name": "pc",
"text": "PC端",
"child": [{
"name": "spa",
"text": "单页应⽤框架",
"child": [{
"name": "react",
"text": "react框架",
"url": "github/chenyaoyi88/cyy-tool.git" }, {
"name": "angular",
"text": "angular框架",
"url": "github/chenyaoyi88/cyy-tool.git" }, {
}, {
"name": "act",
"text": "活动",
"url": "github/chenyaoyi88/cyy-tool.git", "child": [{
"name": "lottery",
"text": "抽奖",
"url": "github/chenyaoyi88/cyy-tool.git" }]
}]
},
{
"name": "app",
"text": "APP端",
"child": [{
"name": "react-native",
"text": "react-native框架",
"url": "github/chenyaoyi88/cyy-tool.git" }, {
"name": "weex",
"text": "weex框架",
"url": "github/chenyaoyi88/cyy-tool.git" }, {
"name": "mui",
"text": "mui框架",
"url": "github/chenyaoyi88/cyy-tool.git" }, {
"name": "ionic",
"text": "ionic框架",
"url": "github/chenyaoyi88/cyy-tool.git"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论