前言
- 使用 Vite + TypeScript + Node 开发一个使多个命令为一个命令的脚手架
- 当然这个题材你也可以使用
bat
实现
思路
- 创建一个 node 项目,开发一系列逻辑,发布到线上,需要的时候全局安装使用
初始化项目
npm create mine@latest
运行项目
npm start
cd dist && npm link
cli -v
cli
: 自定义命令,在 package.json
中的 bin
属性定义定义package.json
{"bin": {"cli": "bin/project-template-cli.js"}
}
-v
: commander
依赖内置配置项,可覆盖参数,在 src/commander/index.ts
中定义,如果需要自定义参数,可以使用 option
方法
program.usage('[commands] [options]').version(version, '-v, --version', '输出版本号').option('-d, --debug', '开启调试模式')
实现自己的逻辑
- 在
src/commander/index.ts
中定义自己的命令 - 在
src/commander/actions.ts
中实现自己的逻辑 - 这里有一个默认命令
cli demo
,可以参考 - 如果想实现使多个命令为一个命令的逻辑,代码太多,可以参考 mine-auto-cli 的源码
发布
- 之前关联到全局只是本地,没有放到线上,换台电脑之后则无法使用,因此我们要发布到线上
- 这里发布到
npm
官网平台,当然你也可以发布到其它平台 - 首先需要注册一个 npm 账号
- 然后在本地
npm
登录
npm login
npm publish
- 发布成功后,就可以在其它电脑使用了
- 这里使用你自己的包名
npm i -g mine-auto-cli
auto -v
其它
- 如何有问题,可以提 issue
- cli 项目模板源码