「我正在参与掘金会员专属活动-源码共读第一期,点击参与」
这篇文章主要讲的是npm包如通过release-it做版本号提升、自动tag和changelog生成以及它是如何做到的。
我们研究一个东西是什么之前,首先的知道如何使用它?
使用步骤:
- 首先我们
npm init -y,生成一个空项目。 - 运行命令
npm init release-it,选择指定的配置文件.release-it.json - 然后接着会自动安装该
npm包的其他依赖。 - 我们还要安装
npm i @release-it/conventional-changelog -D这个是用来生成changelog的。 - 运行
npm run release看看效果,结果报了如下图的错误。
提示我们需要登录, 运行
npm login登录一下, 没有账号的注册一下
在我们开发过程中,就是这样的一步步试错,一步步解决问题,然后最终达到自己的目的,整个过程应该是最珍贵的,因为此时的我们正在成长。
- 登录之后,我们再次运行
npm release,接着选择升级的版本版本号的语义标准这篇文章讲的很详细了,最后,我们的包就发布成功了。
npm init release-it干了啥?
在npm官网我们了解到npm init <initializer> 可以用来建立新的项目或执行已经存在的包.
initializer如果有值,这个时候npx就开始安装create-<initializer>,执行包内的脚本,创建或更新package.json;- 如果
npm init,忽略了initializer输入,则它会问你一系列问题(-y/--yes可以忽略这些问题),创建package.json;
npm init release-it对应的是第一种情况,通过npx 安装 create-release-it,
选择配置文件,生成 .release-it.json 或者 package.json 的 release-it 配置
写入
{
"scripts": {
"release": "release-it"
}
}
到package.json里,最后执行 npm install release-it --save-dev 也就是源码里的 await execa('npm', ['install', 'release-it', '--save-dev'], { stdio: 'inherit' });。
接着我们执行npm run release,release-it开始执行,node_modules/release-it/bin/release-it.js,一切从release()函数开始
顺着这个函数就可以探索
release-it如何给我们做版本管理了。
结束语
好了release-it就讲到这里了