当前位置: 首页 > Web前端 > vue.js

Lerna中文教程详解

时间:2023-04-01 00:38:10 vue.js

Lerna中文教程详解关于Lerna是一个优化使用git和npm管理多包存储库的工作流程的工具。vue、babel、react等都在用。我们公司也在用。文档是英文的,所以我简单总结一下,希望对大家有所帮助。两种工作模式分别是Fixed/Lockedmode(默认)vue,Babel用的就是这个。发布时会在lerna.json文件中添加"version":"0.1.5",根据这个编号。,只选择一次,其他有变化的包会自动更新版本号。Independentmodelernainit--independent`初始化项目。在`lerna.json`文件`"version":"independent"中,每次发布时,您都会得到每个更改包的提示,以指定它是补丁、次要更改、主要更改还是自定义更改。启动initnpminstalllerna-gmkdirlerna-gp&&cd$_npmlernainit#默认使用的固定模式,vuebabel等都是这个#添加包cdpackagesmkdirdaybydaygpnodegpwebpack...#分别进入三个目录初始化到包中cddaybydaynpminit-ycd../gpnodenpminit-ycd../gpwebpacknpminit-y项目结构?lerna-gpgit:(master)?tree.├──lerna.json├──package.json└──packages├──daybyday│└──package.json├──gpnode│└──package.json└──gpwebpack└──package.jsonSetup设置git+npm?gitremoteaddorigingit@gitlab.yourSite.com:gaopo/lerna-gp.git#检查是否登录?npmwhoamixiao2280#如果没有登录npmlogin#输入用户名密码以gp0320登录https://registry.npmjs.org/.#成功设置yarn的workspaces模式默认为npm,每个子包都有自己的node_modules。这样设置后,顶层只有一个node_modules修改顶层package.json和lerna.json#package.json文件添加"private":true,"workspaces":["packages/*"],#add“useWorkspaces”:适用于lerna.json文件,“npmClient”:"yarn",LernaScriptlernacreate[loc]创建一个包,name包名,loc位置可选Examples#rootdirectorypackage.json"workspaces":["packages/*","packages/@gp0320/*"],#创建一个包gpnote,默认放在workspaces[0]指示的位置lernacreategpnote#创建一个包gpnote,并放在packages/@gp0320文件夹下,注意一定要先写packages/@工作区中的gp0320,见上lernacreategpnotepackages/@gp0320lernaadd[@version][--dev][--exact]在当前项目包中添加一个本地或远程包作为依赖项--devdevDependenciesinsteadofdependencies--exactinstallation确切版本是前面没有^的安装包版本,Eg:"^2.20.0"?"2.20.0"Examples#将module-1包添加到'prefix-'prefixedfolderslernaaddmodule-1packages/prefix-*#Installmodule-1tomodule-2lernaaddmodule-1--scope=module-2#Installmodule-1tomodule-2indevDependencieslernaaddmodule-1--scope=module-2--dev#在除module-1之外的所有模块中安装module-1lernaaddmodule-1#在所有模块中安装babel-coreslnaaddbabel-corelernabootstrapdefaultstonpmi,因为我们指定了yarn,所以,运行yarninstall,会把所有包的依赖安装到根节点node_modules.lerna列表中列出所有的包,如果不匹配你文件夹中的那个,进入那个包然后运行yarninit-y解决?lerna-gpgit:(master)?lernalistlernanoticecliv3.14.1daybydaygpnodegpnotegpwebpacklernasuccessfound4packageslernaimport导入现有的本地包lernarunlernarun