npm发布

npm发布

准备工作

下载nrm

详情见文章

打开npm官网 npm | Home

我们需要先注册一个账号

主流程

转换npm源

1
nrm use npm

连接npm账号

1
npm login

确认账号登录状态

1
npm whoami

cd到你需要发布的包/构建产物

比如说我的组件库项目产物位于packages\core

1
cd .\packages\core\

至此,先确认我们即将发布的包

packages\core\package.json

1
2
3
4
5
6
{
"name": "veyra",
"version": "1.0.0",
"description": "使用 Vue3 + Ts 构建的组件库",
...
}

名称

不能和他人已发布过的包名重名

版本

如果是初次发布 “version”: “1.0.0” 即可

若是自己已发布过的包要更新版本 (如”1.0.1”)

详情请看到文章最后“关于版本号”

在确认无误后,执行发包命令

1
npm publish

优化

现在你已经掌握了最原始的发包流程,接下来我们使用更优雅的手段

在含有包的目录中下载

rimraf

1
pnpm add rimraf --save-dev

这是用来在每次打包前remove我们的dist文件夹的

这样我们就可以清理掉上次打包的残余产物

在相应的package.json中添加脚本命令,并将clean放在build命令前

1
2
3
4
"scripts": {
"build": "clean vite build ...",
"clean": "rimraf dist"
},

此时我们尝试

1
pnpm build

就会先把上一次的构建产物(dist文件夹)删了,再重新生成了

release-it

一个交互式的命令行工具

1
pnpm add release-it --save-dev

同样的,添加脚本命令

1
"release": "release-it"

注意

release-it 在发布过程中会自动在项目的根目录下执行 git pushgit push --tags,如果本地分支未设置上游分支(upstream),这些操作会失败。

所以首先在根目录下

1
2
git add .
git commit -m "嵌入release-it"
1
git push --set-upstream origin main

cd进你包的目录

1
cd .\packages\core\

执行

1
pnpm run release

接下来即可根据需求选择相应的版本号等配置

关于版本号

以下是版本号的组成部分,以及各部分增加的依据

主版本号(Major Version)

发生了重大更改,或是做出了不兼容的API修改

意味着用户需要对代码进行相应的修改

次版本号(Minor Version)

添加了向下兼容的新功能,但现有的API保持不变

意味着用户不需要修改代码

修订版本号(Revision Number)

修复了一些问题,但没有引入新的功能

意味着用户可以获得更稳定的体验

编译版本号(Build Number)

表示软件的编译版本,通常由编译器在编译过程中自动生成,不进行人为控制。

预发布版本标识符

可以附加一个预发布版本标识符(如alphabeta等)来标识开发中的版本,通常用于测试阶段。