学习一下,如何发布一个npm 包!
学习链接
How to publish a package to npm - Nathan Sebhastian
简介
npm是一个公共的Node包管理工具,可以把代码发布到npm仓库上。
要发布一个包(文件夹)到npm上,需要如下的操作
- 在npm (npmjs.com)上创建一个npm账号
- 在终端上登录你的账号
- 准备好要发布的文件
- 从终端发布即可
创建账号
首先,我们先在npm (npmjs.com)上,创建一个免费的账号
- 免费的账号发布的内容是公开的
- 升级为专业的,可以发布私有的包
当创建完一个账号后,在终端使用npm login命令登录
这时,npm可能会向你发送验证码,需要登录注册的邮箱进行查看,确认信息
成功登录后,需要做的就是准备一个包用于发布了!
- Hello,World! 就绪!
在准备发布的包里,唯一需要注意的是,该包里必须有package.json文件!可以创建如下的文件。
最基本的文件已经搞定了,可以发布了!使用命令npm publish
在npm上,查看已发布的包
添加文件
我们已经通过npm发布一个包了,但是它里面什么也没有,现在我们添加一些文件!
- 添加index.js文件
我们的包里的内容发生了变化,需要在package.json中改变发布的版本号,然后再次发布
继续发布还是用npm publish命令
删除包
如何删除我们发布的包呢?
- 使用
npm unpublish命令
可以在发布后的72小时内,从npm仓库中删除发布的包
如果超过了72小时,想要删除,会有如下限制
- 该包只有一个发布者
- 没有被其他公共的包引用
- 一周内下载量少于300
如果删除了该包,无法在24小时内,上传同样名字的包!
继续发布的最好办法,就是修改版本号~
使用包
如何使用我们发布的包呢?
- 使用命令
npm install
下载好之后,引入它,使用其中的方法!
通过node来运行该文件!
这意味着,我们的包,已经安装到 node_modules 文件中了,大家都可以通过npm下载使用了
包重名问题
在npm的仓库中,需要我们上传的包名都具有唯一性,如果我们上传的包名已经发布过,就无法再次发布,如果发布重名的包会有如下的问题出现
解决方案
- 修改package.json文件中的名字。
- 私有发布 -(发布时修改为公开/私有)
如何发布自己私有的包
- 需要特殊的命名规范
在发布时,可以设置公开/私有
总结
写到这里,发现包,就是一个包含package.json的文件夹,然后上传的服务器上,可以通过npm下载使用!