【译】如何发布一个npm包?

311 阅读3分钟

学习一下,如何发布一个npm 包!

学习链接

How to publish a package to npm - Nathan Sebhastian

简介

npm是一个公共的Node包管理工具,可以把代码发布到npm仓库上。

要发布一个包(文件夹)到npm上,需要如下的操作

  1. npm (npmjs.com)上创建一个npm账号
  2. 在终端上登录你的账号
  3. 准备好要发布的文件
  4. 从终端发布即可

创建账号

首先,我们先在npm (npmjs.com)上,创建一个免费的账号

  • 免费的账号发布的内容是公开的
  • 升级为专业的,可以发布私有的包

当创建完一个账号后,在终端使用npm login命令登录

image.png

这时,npm可能会向你发送验证码,需要登录注册的邮箱进行查看,确认信息

成功登录后,需要做的就是准备一个包用于发布了!

  • Hello,World! 就绪!

在准备发布的包里,唯一需要注意的是,该包里必须有package.json文件!可以创建如下的文件。

image.png

最基本的文件已经搞定了,可以发布了!使用命令npm publish

image.png

在npm上,查看已发布的包

添加文件

我们已经通过npm发布一个包了,但是它里面什么也没有,现在我们添加一些文件!

  • 添加index.js文件

image.png

我们的包里的内容发生了变化,需要在package.json中改变发布的版本号,然后再次发布

image.png

继续发布还是用npm publish命令

删除包

如何删除我们发布的包呢?

  • 使用npm unpublish命令

image.png

可以在发布后的72小时内,从npm仓库中删除发布的包

如果超过了72小时,想要删除,会有如下限制

  • 该包只有一个发布者
  • 没有被其他公共的包引用
  • 一周内下载量少于300

如果删除了该包,无法在24小时内,上传同样名字的包!

继续发布的最好办法,就是修改版本号~

使用包

如何使用我们发布的包呢?

  • 使用命令npm install

image.png

下载好之后,引入它,使用其中的方法!

image.png

通过node来运行该文件!

image.png

这意味着,我们的包,已经安装到 node_modules 文件中了,大家都可以通过npm下载使用了

包重名问题

在npm的仓库中,需要我们上传的包名都具有唯一性,如果我们上传的包名已经发布过,就无法再次发布,如果发布重名的包会有如下的问题出现

image.png

解决方案

  1. 修改package.json文件中的名字。
  2. 私有发布 -(发布时修改为公开/私有)

如何发布自己私有的包

  • 需要特殊的命名规范

image.png

在发布时,可以设置公开/私有

image.png

总结

写到这里,发现包,就是一个包含package.json的文件夹,然后上传的服务器上,可以通过npm下载使用!