用 JavaScript 构建命令行工具的关键是配置 shebang 行和 package.json 的 bin 字段,通过 npm link 或 publish 实现全局命令;使用 minimist 或 yargs 解析参数,读取 stdin 或 readline 处理输入,规范输出与退出码。

用 JavaScript 构建命令行工具不难,核心是让 Node.js 脚本能被系统识别为可执行命令,并支持参数解析和交互逻辑。
让脚本变成全局可用的命令
关键在于 package.json 的 bin 字段和文件顶部的 shebang 行。
- 在脚本开头加上 ##!/usr/bin/env node,告诉系统用 Node.js 执行它
- 在 package.json 中配置:
"bin": { "mytool": "./cli.js" } - 运行 npm link(开发时)或 npm publish(发布后),就能在终端直接输入 mytool 运行
解析命令行参数
用户输入的 mytool --input file.txt --verbose 需要被正确读取。推荐用 minimist 或 yargs。
-
minimist 轻量,适合简单需求:
const args = require('minimist')(process.argv.slice(2));
console.log(args.input); // 'file.txt' - yargs 功能强,自带帮助提示、类型校验、子命令支持
读取标准输入与交互
处理管道输入(如 cat data.json | mytool)或用户交互(如提问确认)需要操作 process.stdin。
标签: javascript java js node.js json node npm 工具
还木有评论哦,快来抢沙发吧~