写本地小命令时,如果只是几个参数,不一定要先装 commander/yargs。Node 自带的 util.parseArgs 已经能顶一阵。
环境:Node.js 18+,保存成 args-demo.mjs:
import { parseArgs } from 'node:util'
const { values, positionals } = parseArgs({
options: {
name: { type: 'string', short: 'n', default: 'mesh' },
verbose: { type: 'boolean', short: 'v' },
},
allowPositionals: true,
})
console.log(values)
console.log(positionals)
跑一下:
node args-demo.mjs --name dev -v build
会看到类似:
[Object: null prototype] { name: 'dev', verbose: true }
[ 'build' ]
这种适合很轻的脚本。真要子命令、漂亮 help、交互提示,那还是上专门的 CLI 库更舒服。