前段时间我开发了一个Ai命令行工具库【博客地址】 ,可以终端命令、可视化的形式帮助大家去执行各种编写好的脚本。
网上对于js npm包的发布流程很多,知识也很完善,但对于命令行工具\脚手架的开发与发布相对较少。"作为菜鸟的我非常热衷与制造各种奇形怪状没用大用的轮子“, 想到可能有刚入坑的小伙伴也有这方面的开发需求,就简单给大家描述一下搭建这样一个库的流程。
如果你不想看这没用的文档,你也 可以直接去这个仓库GitHub - ruo-love/use-shell-ai 参考源代码,或许更加高效。
第一步: 搭建项目
因为我们要封装的是一个npm 包,所有先使用 npm init -y 初始化一个项目
第二步骤:规划好自己的开发文件入口
我这里在根目录创建了一个bin 文件夹,内部将index作为入口文件
#! /usr/bin/env node
const { program } = require("commander");
program.version("1.0.0").name(`
欢迎使用 use-shell-ai \n
`);
program
.description("配置模型")
.command("config")
.action(require("./actions/config"));
program
.description("开始问答")
.command("q <question>")
.action(require("./actions/chat"));
program.parse(process.argv);
#! /usr/bin/env node //注意在入口文件顶部我加入了这行命令,目的是为了告诉系统使用node执行脚本 (后文为大家详细讲解)
接下来我们就可以开发相关脚本库了
这里我就推荐一些常用的库给大家:详细的使用方法大家去查一下,这里不过多赘述
-
cli-table 终端表格输出库
-
commander 命令行开发工具
-
inquirer 命令行可视化输入、选择工具
其他的一些工具大家可以在网上搜索,node相关生态目前来说也是很不错的
第三步:当大家开发完毕之后,就可以开始修改package.json 文件

package.json 中的配置很多,这里给大家说几个比较关键的字段
name : 该字段为你发布的npm包名,不能使用大写、不可以与已存在的库重复
version: 版本号,每次发布、更新npm包都需要去更新版本号
homepage: 包的文档地址,你可以直接天仓库地址
bin: 这个字段很关键
key 命令符:value:脚本入口地址
本地测试: npm link
在发布至npm 前,你可以在项目根目录的终端下执行
npm link name(package.json 中的name)
执行成功之后你就可以在当前终端下 直接使用你的命令行工具了
我这里直接执行 询问问题的脚本
ai q java // 输入之后 按回车即可执行
发布npm包
在本地测试无误后,直接执行 npm publish 即可发布成功
注意:发布之前请先在本地登录npm, 不了解这块知识的朋友请去查看文档或者Google搜索
脚手架
脚手架的搭建其实也可以参考一下步骤
根据自己的需求去开发命令,通过命令执行脚本,通过脚本拉取文件、对文件增删改查等等,了解大致原理后很多问题都能迎刃而解。
详细的脚手架开发,网上知识很丰富,可以直接Google学习!
本文介绍了作者开发一个AI命令行工具库的过程,包括使用npminit-y初始化项目,规划文件结构,引入常用库,以及如何配置package.json和进行本地测试、发布到npm。作者还分享了脚手架开发的基本步骤和注意事项。

1873

被折叠的 条评论
为什么被折叠?



