如何为自己的 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

等等。是否存在相关文档?

提前致谢!

根据npm documentation

你应该先修改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(推荐)