npm发布自己的包

166 阅读2分钟

「这是我参与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仓库等信息。

image.png

想要在npm中发布自己的包,首先我们需要有npm的账户,我们可以npm官网上注册自己的账户。

然后在命令行工具中输入npm login,按照提示一步步输入npm用户名,密码,email信息等。

image.png 然后使用npm publish发布到npm registry上。

image.png 此时,在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));

我们可以看到结果打印正确。 image.png

更新仓库

如果我们想要对自己的包进行更新,可以重新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
}

可以看到发布失败,这是因为你不能在原有的版本上进行发布。 image.png 我们需要在package.json中更改版本,将原来的1.0.0改为1.1.0。

image.png 然后,我们再次通过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));

image.png

删除发布的包

我们可以通过npm unpublish 包名 命令删除自己发布的包。如果想让包过期,使用npm deprecate命令。