node命令行工具实战(二)

上一篇简单介绍了node命令行工具实用的第三方库,这一篇就看下实战结果

yapidoc-cli

说明

yapidoc-cli 是在apidoc文档编写的基础上,实现一键同步api文档到yapi的命令行工具,同时也提供swagger文档一键同步到yapi, api接口请按照apidoc 规范编写

    npm install -g apidoc-swagger
    npm install -g yapidoc-cli

使用文档

  • 查看帮助文档
$ yapidoc-cli -h
用法: index.js <cmd> [options]

命令:
  index.js ls      列出指定的api,默认所有
  index.js build   生成生成swagger.json文档
  index.js update  更新指定api接口到yapi,默认所有

选项:
  --config, -c  指定配置文件                                            [字符串]
  -v            显示版本号                                                [布尔]
  -h            显示帮助信息                                              [布尔]
  • 配置文件模板如下
{
    "apidoc":{
        "name": "Test API - This is my API",
        "version": "1.0.0",
        "description": "This is my very powerful API",
        "title": "Test API - This is my API",
        "url": "https://testapi.com"
    },
    "yapidoc":{
        "token": "ssdfaskjfasfifsfnaskjfhaifnfk",
        "host": "http://xxx.yapi.com",
        "merge": "normal"
    }
}
  • 配置文件参数说明

    apidoc : apidoc的配置项目详见apidoc.json

    yapidoc: yapi的配置项

    1. token : 每个项目都有唯一的标识 token,用户可以使用这个 token 值来请求 openapi
    2. host:内网/外网部署的yapi地址
    3. merge: normal, good, mergin, 默认为normal
    
  • 设置配置文件

    yapidoc-cli -c=你的配置文件
  • 编写apidoc 文档, 如下
    /**
     * @apiDefine UserNotFoundError
     *
     * @apiError UserNotFound The id of the User was not found.
     *
     * @apiErrorExample Error-Response:
     *     HTTP/1.1 404 Not Found
     *     {
     *       "error": "UserNotFound"
     *     }
     */

    /**
     * @api {get} /user/:id Request User information
     * @apiName GetUser
     * @apiGroup User
     *
     * @apiParam {Number} id Users unique ID.
     *
     * @apiSuccess {String} firstname Firstname of the User.
     * @apiSuccess {String} lastname  Lastname of the User.
     *
     * @apiSuccessExample Success-Response:
     *     HTTP/1.1 200 OK
     *     {
     *       "firstname": "John",
     *       "lastname": "Doe"
     *     }
     *
     * @apiUse UserNotFoundError
     */

    /**
     * @api {put} /user/ Modify User information
     * @apiName PutUser
     * @apiGroup User
     *
     * @apiParam {Number} id          Users unique ID.
     * @apiParam {String} [firstname] Firstname of the User.
     * @apiParam {String} [lastname]  Lastname of the User.
     *
     * @apiSuccessExample Success-Response:
     *     HTTP/1.1 200 OK
     *
     * @apiUse UserNotFoundError
     */
  • 编译生成文档
    yapidoc-cli build -i=/d/selfProject/yapidoc-cli/test -o=/d/selfProject/yapidoc-cli/test -t=a
    1. -i 项目api接口的目录
    2. -o 编译结果输出目录(t=a时必填) 
    3. -t a表示apidoc s表示对swagger.json文件操作
    4. 以上路径暂支持绝对路径
  • 查看文档
    $ yapidoc-cli ls -m=get -u=/user/
    ----------- api list --------------
		url: /user/ method: put
   	$ yapidoc-cli ls
		----------- api list --------------
		url: /user/:id method: get
		url: /user/ method: put
    1. m http请求方法
    2. u url
    3. m 和 u 同时满足时,输出接口详情
    4. m 和 u 不传,默认输出所有api列表
  • 更新文档到yapi
   $ yapidoc-cli update
	----------- 接口更新结果:成功导入接口 0 个, 已存在的接口 2 个 --------------
	----------- api list --------------
	url: /user/:id method: get
	url: /user/ method: put
    1. 参数同ls
    2. 同步指定的api到yapi,默认同步所有
  • 说明
 	1. ls, update暂时还依赖于build,只有build成功后才能操作最新的api文档
  • 有点绕,先这样了

命令行翻译工具

之前也写过一个命令行工具bdnote,命令行汉英互译,调用百度api完成,需自己注册百度开发者账号,获取自己的appid和key,具体看源码吧,就闹着玩
https://github.com/AviorAlong/postItNotes

来公众号撩骚,获取跟多资讯
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将一个Node脚本配置成命令行工具,你可以按照以下步骤操作: 1. 在你的项目根目录中创建一个新的文件夹,例如 `bin`,用于存放命令行工具的代码。 2. 在 `bin` 文件夹中创建一个新的文件,例如 `cli.js`,作为你的命令行工具的入口文件。 3. 在 `cli.js` 文件的开头添加 `#!/usr/bin/env node`,这是告诉操作系统使用Node来执行脚本的指令。 例如: ```javascript #!/usr/bin/env node // 命令行工具的代码 ``` 4. 在 `cli.js` 文件中编写你的命令行工具的代码。你可以使用`process.argv`来获取命令行参数,以及使用Node的模块和功能来完成你的逻辑。 例如: ```javascript #!/usr/bin/env node const args = process.argv.slice(2); // 你的命令行工具的逻辑 console.log('Hello, World!'); console.log('命令行参数:', args); ``` 5. 在 `package.json` 文件中的 `scripts` 字段中添加一个自定义的脚本命令,例如 `cli`,并指向你的入口文件。 例如: ```json { "name": "your-project", "version": "1.0.0", "scripts": { "cli": "node bin/cli.js" } } ``` 6. 最后,在命令行中运行 `npm link`,这将会在全局范围内创建一个符号链接,使你的命令行工具可以在任何地方使用。 例如: ``` npm link ``` 现在,你就可以在命令行中运行你的命令行工具了,使用以下命令: ``` your-project-cli [命令行参数] ``` 注意替换 `your-project-cli` 为你自己的命令行工具的名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值