使用node开发cli工具
创建项目
在项目目录使用 npm init
初始化项目,并修改 package.json
以下配置:
json
{
"name": "@boor/cli", // 项目名称(自己定义)
"author": "Boor",
"version": "0.0.1", // 项目版本
"type": "module", // 使用esmodule编写
"description": "Boor cli工具",
"main": "main.js", // 项目入口文件
"bin": {
"boor": "main.js" // 指定cli命令与入口文件
}
}
在项目目录下新建 main.js
安装依赖
依赖管理我使用的pnpm,没有的可以使用
npm i pnpm -g
来安装
js
pnpm install commander @inquirer/prompts ora chalk
- commander 完整的 node.js 命令行解决方案。
- @inquirer/prompts (原包名inquirer) 常用的交互式命令行用户界面。
- ora 命令行加载器(loading)
- chalk 粉笔,修改命令行文字颜色
创建包链接
创建包链接是为了方便在命令行验证cli的功能代码
shell
pnpm link --global
创建好链接之后就可以在命令行使用命令验证我们的代码:
shell
boor -V
待完善...
WebHook
生成签名密钥:
js
import { createHash } from 'node:crypto'
function createMd5(content) {
const md5 = crypto.createHash('md5');
return md5.update(content).digest('hex');
}
// 自定义生成密钥的字符串
const secretStr = 'your secret key'
// 生成密钥,把结果填入gitee WebHooks的签名密钥中
const secret = createMd5(secretStr)