如何为自己的npm包创建自定义cli命令

时间:2015-02-04 19:09:22

标签: node.js npm

我有一个简单的包,例如:mypkg

我已经在npm注册了这个包,所以我可以在全球范围内安装它:

$ npm install -g mypkg

我的问题是如何为我的包绑定命令选项,类似于:

$ mypkg build
$ mypkg serve --remote-access
$ mypkg deploy
$ mypkg test

Etc ..是否存在此文档?

提前致谢!

1 个答案:

答案 0 :(得分:4)

根据npm documentation

您应首先修改 package.json

{
  ...
  "preferGlobal": "true",
  "directories": {
    "bin": "./bin"
  },
  ...
}

在modules文件夹中创建一个名为 lib 的目录,并在其中创建 mypgk.js

然后创建一个脚本,它可以像这样获取命令行参数

var argv = require('optimist').argv;

if (argv.make === 'deploy') {
  //do some stuff here
} else if (argv.make === 'test') {
  //another stuff
}
//...

然后安装安装-g ./

然后您可以使用 mypgk --make = deploy

如果你不想像我在这里那样传递论据,你可以改变你的方式,参考这个question

P.S 以下是您需要做的简要总结,更准确的信息请参考开头的链接(推荐)