如何搭建一个自己cli
2017-11-21 本文已影响100人
ChrysAwesome
为什么要搭建cli
在前端开发中,在搭建好一套自己满意的代码架子后,希望以后可以在别的开发中也一直沿用。之前或许把这份代码的结构再手动码一份,但这样的重复劳动其实搭建好自己的cli后,就可以通过几个命令来完成了
搭建cli准备
首先新建自己cli项目完成初始化配置之后。然后完成以下步骤
npm init
-
在package.json中新建bin对象,如下图
image.png
这个对象中存放着之后需要执行的命令。
- 新建bin目录,添加执行的js文件,注意这里的js文件需要以#!/usr/bin/env node这个开头,表明用node执行
- 安装搭建cli的包
"dependencies": { "inquirer": "^4.0.0", "ora": "^1.3.0", "rimraf": "^2.6.2", "chalk": "^2.3.0", "commander": "^2.11.0", "download-git-repo": "^1.0.1" }
简单介绍下面几个包的作用
commander:设置一些node命令,如包的help、usage、version、parse输入的参数,
download-git-repo:下载git上的模板,并存到本地,
chalk:可以修改输出console颜色,
inquirer:用户判断,是否执行
ora:下载包时,产生loading的图标
rimraf:删除文件
编写cli代码
-
创建目录文件chrys.js
image.png
定义版本号,及子命令和一些说明简介
-
创建子命令文件 chrys-init.js
1 . image.png
定义用法,及转化参数。
2 .
image.png 描述帮助。
3 .
image.png
获取参数及存放位置。
4 . image.png
下载模板到对应文件夹
到此一个简单的cli就搭建完成,那么我们如何使用它呢
使用
1 .本地调试或使用
node bin/chrys.js template-name project-name
,或者
npm install -g
chrys init template-name project-name
2 .发布到npm
首先需要注册npm账号,然后执行如下命令
npm login
npm publish
每次发布版本号要更新,其次就是包的名字要唯一,假如被人使用只能换个名字了。
github地址:https://github.com/Chryseis/chryseis-cli