当前位置: 首页 > 后端技术 > Node.js

lerna的基本使用(创建、发布、命令)

时间:2023-04-03 18:27:33 Node.js

目前网上的lerna教程不是很清楚,自己整理练习笔记自己创建项目$mkdirlerna-repo&&cdlerna-repo$npminit//本地目录安装$npmilerna-D$npxlernainit//或者全局安装$npminstall--globallerna$lernainit目录结构lerna-repo/packages/core/utils/package.jsonlerna.json这里我们把项目分成2个子包,教大家创建acoresubprojectlater,autils子项目lernacreate创建一个子包lernacreate[loc(specifieddirectory)]//lernacreatecore//lernacreateutilslernaaddinstallsdependencieslernaadd[@version][--dev][--exact][--peer]比如lernaaddfetch包目录下的子项会被安装到指定的包installation(utils名称的子项)lernaaddfetchpackages/utils/command常用命令lernalink子包与子包之间链接Dependencies(local)#core/package.json..."dependencies":{"fetch":"^1.1.0","@xxx/utils":"^1.0.4"//xxx为对应的子包名称}上面的package.json中utils,...接下来运行lernalinknode_modules添加的包地址指向本地子包utilslernarun命令运行修改core和utils的package.json的包..."scripts":{"test":"echo\"Runtestfromutils\""},...runlernaruntestecho"Runtestfromutils"“从utils运行测试”lerna信息运行Rannpmscript'test'in'@xxx/core'in0.9s:>echo"Runtestfromcore""Runtestfromcore"指定运行lernarun--scope@xxx/utilstestlernaclean清除包子项目的node_moduleslernabootstrap安装包子项目依赖(node_modules)补充命令lernaexec执行命令行#删除所有子包中的node_moduleslernaexec--rm-rfnode_modules/#删除指定utils子包中的node_moduleslernaexec--scope@xxx/utilsrm-rfnode_modules/release操作git绑定远程仓库npmlogin登录创建组织仓库(无限公包)lernapublish发布一个版本发布前记得绑定远程仓库和npmorganizationps:正常更新gitpush,只有当版本被替换使用lernapublish>lernapublishlernanoticecliv4.0.0lernainfo当前版本1.0.7lernainfo寻找自v1.0.7以来更改的包?选择新版本(当前为1.0.7)(使用方向键)>Patch(1.0.8)Minor(1.1.0)Major(2.0.0)Prepatch(1.0.8-alpha.0)Preminor(1.1.0-alpha.0)Premajor(2.0.0-alpha.0)CustomPrereleaseCustomVersionlernapublishSelectPatch将更新的子包中package.json的版本改为指定版本lerna会自动生成一个gittag(版本标签)和上传到github,自动上传npm的版本号(对应更新后的子包)lernadiff查看包的本地修改#core/index.jsfunctioncore(){//TODO+console.log("core")}