自定义npm命令行工具,并发布到www.npmjs.org
Posted itly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义npm命令行工具,并发布到www.npmjs.org相关的知识,希望对你有一定的参考价值。
## 1.自定义一个npm脚本
- 1.新建一个项目(在任何路径都可以);
- 2.使用
npm init -y
初始化项目 - 3.新建一个index.js文件,在文件的第一行添加
#!/usr/bin/env node
- 4.在package文件中添加一个bin字段,bin字段是一个键值对,键名是生成的.cmd文件的名字,值是执行这个命名所要执行的脚本.
"bin":{"lcopy":"./index.js"}
- 5.打开终端进入当前目录的根路径,执行
npm link
node会自动去全局路径创建cmd文
- 6.定义一个文件拷贝的copy方法
//copy.js文件,暴露一个copy方法
const fs = require(‘fs‘);
module.exports=function (src,dist,callback){
fs.readFile(src,(err,data)=>{
if(err){
return callback(err);
}
fs.writeFile(dist,data,err=>{
return callback(err);
})
callback(null);
})
};
- 7.在index.js中加载copy.js方法
#!/usr/bin/env node
const copy = require(‘./copy‘);
const argvs = process.argv().slice(2);
copy(argvs[0],argvs[1],err=>{
if(err){
console.log("复制文件失败了");
}else{
console.log("复制文件成功");
}
});
console.log("copy()复制被执行了");
8.测试
- 9.将自定义命令发布到npm上
- 首先验证一下package.json中的name是否被占用
- 去npm.js.com或者通过npm adduser注册一个账户
npm login 登陆
注意要使用官方的镜像源,我这里使用了淘宝的镜像源,切换回官方镜像源.
10npm publish 发布
11 npm version patch 更新
12重新发布
查看更新13 下载安装
14npm unpublish 删除
以上是关于自定义npm命令行工具,并发布到www.npmjs.org的主要内容,如果未能解决你的问题,请参考以下文章