如何为自己的 npm 包创建自定义 cli 命令
How to create custom cli commands for own npm package
我有一个简单的包,例如:mypkg
我已经在 npm 中注册了这个包,所以我可以全局安装它:
$ npm install -g mypkg
我的问题是如何为我的包绑定命令选项,类似于:
$ mypkg build
$ mypkg serve --remote-access
$ mypkg deploy
$ mypkg test
等等。是否存在相关文档?
提前致谢!
你应该先修改package.json
{
...
"preferGlobal": "true",
"directories": {
"bin": "./bin"
},
...
}
在您的模块文件夹中创建一个名为 lib 的目录,并在其中创建 mypgk.js。
然后创建一个脚本来获取这样的命令行参数
var argv = require('optimist').argv;
if (argv.make === 'deploy') {
//do some stuff here
} else if (argv.make === 'test') {
//another stuff
}
//...
然后安装 install -g ./
然后就可以使用了 mypgk --make=deploy
如果你不喜欢像我在这里那样传递参数,你可以改变你的方式,参考这个question
P.S这里简单总结一下你需要做什么,更准确的信息参考开头的link(推荐)
我有一个简单的包,例如:mypkg
我已经在 npm 中注册了这个包,所以我可以全局安装它:
$ npm install -g mypkg
我的问题是如何为我的包绑定命令选项,类似于:
$ mypkg build
$ mypkg serve --remote-access
$ mypkg deploy
$ mypkg test
等等。是否存在相关文档?
提前致谢!
你应该先修改package.json
{
...
"preferGlobal": "true",
"directories": {
"bin": "./bin"
},
...
}
在您的模块文件夹中创建一个名为 lib 的目录,并在其中创建 mypgk.js。
然后创建一个脚本来获取这样的命令行参数
var argv = require('optimist').argv;
if (argv.make === 'deploy') {
//do some stuff here
} else if (argv.make === 'test') {
//another stuff
}
//...
然后安装 install -g ./
然后就可以使用了 mypgk --make=deploy
如果你不喜欢像我在这里那样传递参数,你可以改变你的方式,参考这个question
P.S这里简单总结一下你需要做什么,更准确的信息参考开头的link(推荐)