commander作用

commander 是什么?

commander 是 Node.js 最常用的 命令行工具构建库

你可以用它轻松构建像:

  • git commit -m "msg"

  • npm install lodash

  • vue create my-app

  • webpack --mode production

这种 CLI 命令行工具


commander 的主要作用

1. 定义命令、子命令

例如:

 
mycli init mycli build mycli dev

2. 解析参数、选项

例如:

 
mycli build --mode production --watch

3. 自动生成帮助文档

默认支持:

 
mycli --help

会自动输出所有命令 + 参数说明。

4. 自动处理默认值、校验、类型转换


最简单例子:创建一个命令行工具

cli.js

 
#!/usr/bin/env node const { program } = require('commander'); program .name('mycli') .description('A simple CLI example') .version('1.0.0'); program .command('say <name>') .description('say hello to someone') .action((name) => { console.log(`Hello, ${name}!`); }); program.parse();

运行:

 
node cli.js say Jerry

输出:

 
Hello, Jerry!

选项参数(--mode --watch 等)

 
program .option('-m, --mode <mode>', 'set mode', 'dev') .option('-w, --watch', 'watch mode'); program.parse(); const opts = program.opts(); console.log(opts);

执行:

 
node cli.js --mode production --watch

输出:

 
{ mode: 'production', watch: true }

子命令(类似 git commit, git push)

 
program .command('build') .description('build project') .option('-m, --mode <mode>', 'set mode') .action((opts) => { console.log("Building...", opts.mode); }); program.command('dev') .description('start dev server') .action(() => { console.log("Dev server started"); });

用法:

 
node cli.js build --mode production node cli.js dev

自动生成帮助文档

执行:

 
node cli.js --help

自动生成:

 
Usage: mycli [options] [command] Options: -V, --version output the version number -m, --mode <mode> set mode (default: "dev") -w, --watch watch mode -h, --help display help for command

完全自动!

posted @ 2025-12-10 14:17  jerry-mengjie  阅读(0)  评论(0)    收藏  举报