最近琢磨开发geojson-help命令行工具,把开发工具的过程整理了下
初始化
mkdir project
npm init新建
bin/run
命令文件,内容如下,代表在node环境执行#!/usr/bin/env node
修改下可执行权限
$ sudo chmod u+x run
修改package.json文件,注册npm命令
"bin": {
"run": "./bin/run"
}软链接命令到全局环境,方便调试
npm link
然后在run文件中写命令行代码,可以用commander来执行git风格的命令
var run = require('../package.json');
var commander = require('commander');
commander
.version(run.version)
.usage('<command> [options]')
.command('init', 'initialize')
.parse(process.argv)同样新建
bin/run-init
, 执行run init
时即可将命令分发到run-init
文件内在
run-init
中写一些要在node环境中执行的代码,可以通过commander
来抓取参数var commander = require('commander');
commander
.option('-p, --params <params>', 'some params')
.parse(process.argv);
console.log(params.params);执行
run init -p test
, 控制台应该会输出test
- 将npm包发布后,
npm i your-package -g
安装到全局,即可直接调用命令