Tasking
- 建立一个空文件夹
- 初始化npm项目
- 建立入口文件
- 编写执行脚本
- 添加执行命令
- 发布cli到npm
- 安装cli本地测试
执行
新建一个clin-cli文件夹:
mkdir clin-cli
初始化项目:
```json // package.json { “name”: “clin-cli”, “version”: “1.0.0”, “description”: “”, “main”: “index.js”, “scripts”: {npm init --yes
}, “keywords”: [], “author”: “”, “license”: “MIT” }"test": "echo \"Error: no test specified\" && exit 1"
<a name="0j9W6"></a>
##### 在当前项目中新建bin文件夹,再在bin文件夹中新建index.js:
```powershell
mkdir bin
cd bin
touch index.js
编辑index.js脚本
#!/usr/bin/env node
console.log('welcome clin-cli')
添加执行命令
{
"name": "clin-cli",
"version": "1.0.0",
"description": "",
"main": "index.js",
"bin": {
"clin-cli": "bin/index.js"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "changlin",
"license": "MIT"
}
登录npm(没有账号的话,可以先注册)
npm login
输入npm login后按照控制面板的提示输入用户名、密码、邮箱;检测是否登录成功,若登录成功,则会打印出当前用户的用户名,反之不会
npm who am i
发布到npm官网
npm publish
发布后可在npm官网中查看;发布过程中若遇到问题,可参考下一篇总结
发布成功后,安装到本地测试
注意:无论是全局安装还是项目局部安装,都要退出当前cli本地开发脚本的目录
npm i clin-cli -g
全局安装后,在控制面板中输入命令:
clina
删除全局安装的cli进行本地调试:
删除clin-cli
npm uninstall clin-cli -g
建立本地软连接:
npm link
npm link: 将当前项目链接到node全局node_modules中作为一个库文件,并解析bin配置创建可执行文件
npm link
- 对bin/index.js修改之后在进行测试
- 终端中输入
clin-cli
查看结果
取消链接本地库文件:
npm unlink // 将当前项目从node全局node_modules中移除