【源码学习】第(11)期 | 都2202年了,是时候发布属于自己的npm包了!

202 阅读2分钟

前言

    虽然工作中是ctrl+CV工程师,但咱们也要有自己的输出,比如发布属于自己的npm包(emm,似乎这也是ctrl+cv😂,但好歹是自己配置的,四舍五入等于自己亲生的😁)。这里的npm包可以是常用的工具函数、组件库等,高级点的说法就是复用,下面就一起学学从0到1为自己的产品打商标吧!

收获清单

  • 从0到1发布npm包
  • release-it应用
  • 编写一个简单的脚手架工具

准备工作

npm账号

  • 注册npm账号备用(已有账号可以跳过),传送门,验证完再按步骤输入用户名、密码、邮箱等即可

图片.png

npm包代码准备

  • github/gittee建个仓库,方便后期协作迭代。记得添加license
    • npm init初始化npm包
    • 执行npm init release-it安装 release-it
    • package.json中script标签添加"release": "release-it"
    • 执行npm run release下面是初步截图

图片.png

  • git提交规范及changelog生成
    主要是利用git-cz@release-it/conventional-changelog
// commit规范
pnpm i git-cz -D
// package.json中script标签添加:
"commit": "git-cz"
// changelog生成
pnpm i @release-it/conventional-changelog -D
release-it.json中添加,配置传送门(https://github.com/release-it/release-it/blob/master/docs/changelog.md)
"plugins": {

    "@release-it/conventional-changelog": {

      "preset": "angular",

      "infile": "CHANGELOG.md"

    }

  }
// 执行 pnpm run release
git-cz截图

图片.png

生成的changelog大概长这样

图片.png

  • 入口及命令
    一般npm init的时候就可以指定入口或者直接package.jsonmain字段指定,在使用release-it等工具包的时候聪明的你是不是也会觉得只要安装了包并且配置script标签就可以开箱即用很神奇!发挥关键作用的就是bin标签了,以下是release-it源码位置截图:

图片.png

图片.png

发布npm包相关

  • 登录
npm login
// 登录不成功利用nrm切换源,再次执行
npm i -g nrm
nrm use npm/yarn
  • 发布/更新包
① npm run release
②// 更新时加上: npm version <版本号类型> 
npm publish
首次发包截图

图片.png

更新包截图

图片.png

  • 删除包
npm unpublish <包名> -force

总结

    今天实践了利用release-it自动发版、生成changelog等,从0到1发布了npm包,为自己日后开发工具包打下基础,最后,源码学习不仅是为了提高编程能力还是为了更好地回归业务应用,纸上得来终觉浅绝知此事要躬行!

参考文章