最近刚刚开始学习nodeJs,使用nodeJs可以做全局命令,比如说fis的命令。
研究了好久才知道,如何把nodejs做的组件做成全局命令
需要在package.json 文件里面添加一个 "bin" 属性, 内容可以是一个对象也可以是一个字符串
如果是对象的话:
{
"XXX": "XXX",
"XXX": "XXX",
"XXX": "XXX",
"bin": {
"command": "./cli.js"
}
}
如果是字符串的话:
{
"XXX": "XXX",
"XXX": "XXX",
"XXX": "XXX",
"bin": "./cli.js"
}
如果是对象的话,那个command 就是 将来执行命令的名字,比如说这里改成lookat 那么 以后就可以执行lookat,如果使用字符串的话,那么命令的名字和package里面设置的name属性一样。
生成全局命令应该注意,我们的nodejs文件第一行一定加一个声明
#!/usr/bin/env node
那么我们就开始生成全局的命令
平常测试的话,我们就用npm link,他会生成一个软链,这样我们全局就可以用了,然后我们也可以直接修改当前文件夹下文件进行测试
fanmingfeideMBP:testN fanmingfei$ npm link
/usr/local/bin/testn -> /usr/local/lib/node_modules/testn/cli.js
/usr/local/lib/node_modules/testn -> /Users/fanmingfei/testN
如果正式发布的话,我们需要先发布一个npm包,发布方法
http://blog.edire.info/nodejs_npm_publish/
发布以后我们本地执行 npm install -g <包名称> 就ok了
npm install -g testn