「这是我参与2022首次更文挑战的第22天,活动详情查看:2022首次更文挑战」。
发布自己的包
现在我们来模拟一下发布自己的包。这个包封装了很多函数,可以进行计算,然后使用module.exports导出这些函数。
function add(num1, num2) {
return num1 + num2
}
function sub(num1, num2) {
return num1 - num2
}
module.exports = {
add,
sub
}
我们使用npm init来生成package.json文件,按照提示输入自己的包名字,描述,关键字,git仓库等信息。
想要在npm中发布自己的包,首先我们需要有npm的账户,我们可以npm官网上注册自己的账户。
然后在命令行工具中输入npm login,按照提示一步步输入npm用户名,密码,email信息等。
然后使用npm publish发布到npm registry上。
此时,在npm的package页面我们看到了自己发布的包。
使用自己的包
我们来模拟一下别人使用我们发布的包。
在项目中我们使用npm init来生成package.json文件。然后使用npm i 包名 来下载我们之前发布的包。
新建一个main.js,通过requie引入我们下载的包。
const {add, sub} = require('lw_haha_utils')
console.log(add(10, 20));
console.log(sub(10, 20));
我们可以看到结果打印正确。
更新仓库
如果我们想要对自己的包进行更新,可以重新npm publish吗?
例如我增加了一个计算乘法的函数,然后进行导出。
function add(num1, num2) {
return num1 + num2
}
function sub(num1, num2) {
return num1 - num2
}
function mul(num1, num2) {
return num1 * num2
}
module.exports = {
add,
sub,
mul
}
可以看到发布失败,这是因为你不能在原有的版本上进行发布。
我们需要在package.json中更改版本,将原来的1.0.0改为1.1.0。
然后,我们再次通过npm publish重新发布。
在使用包的时候,我们再次通过npm i 包名 重新下载刚刚发布的包。
然后我们引入之前封装的乘法函数,进行计算。
const {add, sub, mul} = require('lw_haha_utils')
console.log(add(10, 20));
console.log(sub(10, 20));
console.log(mul(10, 20));
删除发布的包
我们可以通过npm unpublish 包名 命令删除自己发布的包。如果想让包过期,使用npm deprecate命令。