Skip to content
On this page

使用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
  1. commander 完整的 node.js 命令行解决方案。
  2. @inquirer/prompts (原包名inquirer) 常用的交互式命令行用户界面。
  3. ora 命令行加载器(loading)
  4. 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)