Vite + TypeScript + Node 开发一个简易脚手架
前言
- 使用 Vite + TypeScript + Node 开发一个使多个命令为一个命令的脚手架
- 当然这个题材你也可以使用
bat
实现
思路
- 创建一个 node 项目,开发一系列逻辑,发布到线上,需要的时候全局安装使用
初始化项目
- 选择
自定义预选
>cli
sh
npm create mine@latest
运行项目
sh
npm start
- 新开一个终端,运行以下命令,关联当前脚手架到全局
sh
cd dist && npm link
- 查看效果
- 运行结果为
1.0.0
,则项目运行成功
sh
cli -v
cli
: 自定义命令,在package.json
中的bin
属性定义定义package.json
json
{
"bin": {
"cli": "bin/project-template-cli.js"
}
}
-v
:commander
依赖内置配置项,可覆盖参数,在src/commander/index.ts
中定义,如果需要自定义参数,可以使用option
方法
js
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
登录
sh
npm login
- 最后在推送到线上
sh
npm publish
- 发布成功后,就可以在其它电脑使用了
- 这里使用你自己的包名
sh
npm i -g mine-auto-cli
auto -v
其它
- 如何有问题,可以提 issue
- cli 项目模板源码