如何发布NPM包 | 青训营笔记

92 阅读1分钟

关于负责前端的基础能力建设,发布各种功能/插件包的需求,熟悉对有关NPM包的发布与管理是有必要的。

一、初始化 npm 包

1.1、初始化 npm 项目

使用以下命令初始化一个npm包项目,命令交互过程中会让你填入项目名称、版本、作者等信息,可以直接回车跳过(使用默认设置)

shell
复制代码
npm init --save

1.2、包权限管理

通常情况下,一个npm项目包往往不只是一个人在管理的,这时需要给其他一起维护的同学开通发布的权限,相关使用命令如下:

shell
复制代码
# 查看模块 owner, 其中 demo 为模块名称
$ npm owner ls demo

# 添加一个发布者, 其中 xxx 为要添加同学的 npm 账号
$ npm owner add xxx demo

# 删除一个发布者
$ npm owner rm xxx demo

1.3、发布版本

1.3.1、发布稳定版本

更新版本号共有以下选项(major | minor | patch | premajor | preminor | prepatch | prerelease) ,注意项目的git status 必须是clear,才能使用这些命令。

shell
复制代码
# major 主版本号,并且不向下兼容  1.0.0 -> 2.0.0
$ npm version major

# minor 次版本号,有新功能且向下兼容  1.0.0 -> 1.1.0
$ npm version minor

# patch 修订号,修复一些问题、优化等  1.0.0 -> 1.0.1
$ npm version patch

# premajor 预备主版本  1.0.0 -> 2.0.0-0
$ npm version premajor

# preminor 预备次版本  1.0.0 -> 1.1.0-0
$ npm version major

# prepatch 预备修订号版本  1.0.0 -> 1.0.1-0
$ npm version major

# prerelease 预发布版本  1.0.0 -> 1.0.0-0
$ npm version major

版本号更新后,我们就可以进行版本的发布

shell
复制代码
$ npm publish

1.3.2、预发布版本

通常情况一些新改动,并不能直接发布到稳定版本上(稳定版本的意思就是使用 npm install demo 即可下载的最新版本),这时可以发布一个 “预发布版本“,不会影响到稳定版本。

shell
复制代码
# 发布一个 prelease 版本,tag=beta
$ npm version prerelease
$ npm publish --tag beta

比如原来的版本号是 1.0.1,那么以上发布后的版本是 1.0.1-0,用户可以通过 npm install demo@beta  或者 npm install demo@1.0.1-0  来安装,用户通过 npm install demo 安装的还是 1.0.1 版本。

1.3.3、将 beta 版本设置为稳定版本

shell
复制代码
# 首先可以查看当前所有的最新版本,包括 prerelease 与稳定版本
$ npm dist-tag ls

# 设置 1.0.1-1 版本为稳定版本
$ npm dist-tag add demo@1.0.1-1 latest

此时,latest 稳定版本已经是 1.0.1-1 了,用户可以直接通过 npm install demo 即可安装该版本。

1.3.4、将 beta 版本移除

shell
复制代码
# 将 beta 版本移除
$ npm dist-tag rm demo beta

1.3.5、将 tag 推送到 Git 远程仓库中

shell
复制代码
# 当我们发布完对应的版本,可以通过以下命令将版本号推送到远程仓库, 其中 xxx 为对应分支
$ git push origin xxx --tags

1.4、查看版本信息

可以通过 npm info 来查看模块的详细信息。

ruby
复制代码
$ npm info