如何用npm发布一个包

563 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

1. 注册npm账号

打开npm官网去申请一个账号

2. 绑定安全令

注册好之后需要绑定身份验证软件,不然发不了包(会在npm publish后卡住)

可以去app商店下载一个工具Authenticator,这个工具就像安全令一样,每次发布需要提供动态验证码

在npm网站打开如下位置

image.png

我是绑定过了所以提示的是Modify 2FA,正常是有个绑定按钮,点完按照流程去操作,有一个码输入到手机app里就可以了

image.png

绑定成功后的样子(这个app不允许截图...),既然截不了那我画一个吧

image.png

大概就是上面这个样子...这是绑定成功后的效果,点击进去后就会看到一个30秒内变化的6位数字验证码

这些做完了基本前置工作就结束了

3. 在本地登陆npm账号

npm login

运行该代码后会要求输入npm账号,密码,邮箱就可以成功登陆

4. 包名和版本

登陆成功后 进入到package.json所在的目录

package.json中的name就是包名,改包名字就改这个name;version就是对应版本,默认是1.0.0(版本尽量别手动改,用patch方式)

每次运行一次npm version patch后,升级一个小版本,会从1.0.0变成1.0.1

我发的私包,所以包名是

image.png

5. 包的发布

正常发布是用npm publish,但是我的包是私包,同时希望私包能被所有人看到,这时候在npm publish时,后面加上权限设置为公开参数,也就是下面这样的代码

npm publish --access=public

此时会被提示需要输入安全令代码

Enter OTp:

输入下之前绑定的app上的验证码就可以发布成功了,如下图

image.png

示例的npm地址:www.npmjs.com/package/@mi…

6. 更新包后的发布

如果包有修改需要更新,首先打个patch,之后发布

npm version patch // 升级一个小版本
npm publish --access=public // 发布版本并公开权限

7. 勋章制作

image.png

想制作一个图中npm这样的勋章该怎么做呢?

在readme.md中新增图片链接,填入内容边框颜色即可

[![npm](https://img.shields.io/badge/npm-1.0.4-brightgreen)](https://github.com/snowdreams1006)

更加深入的勋章制作,可以参考这位大佬的文章 -> sspai.com/post/59593

8. 测试发布是否成功

找一台新电脑,运行

npm i @miaolin1993/testcli -g
mlcli init

至此一个npm包就发布成功了,并且能被所有npm用户下载使用了