背景
一开始看到cnpm,以为跟npm一样需要用c开发底层命令,后来谷歌一下,才发现其实也很简单。
实施步骤
新建一个nodecmd文件夹,在里面建一个main.js,内容如下
#!/usr/bin/env node
console.log('hello command');
然后在命令行中初始化
nodecmd> npm init
一路回车,创建package.json
关键一步
修改package.json,添加bin命令
"bin": {
"mycmd": "main.js"
}
完整package.json如下
{
"name": "nodecmd",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"bin": {
"mycmd": "main.js"
}
}
接着执行npm link
nodecmd> npm link
npm notice created a lockfile as package-lock.json.
You should commit this file.
npm WARN nodecmd@1.0.0 No description
npm WARN nodecmd@1.0.0 No repository field.
搞定,这样就能使用mycmd了
nodecmd> mycmd
hello command