本文是对多包工程管理模型的学习和应用过程中记录的使用和问题的摘要,并向所有人共享。
Lerna管理方法属于该模型,该模型与传统的单仓库应用模型不同。让我们先看一下两者之间的区别。
传统的项目开发模型,例如诸如框架模板脚手架脚手架的项目。
缺点:
缺点:
Lerna是一个管理工具,该工具管理包含多个软件包(软件包)的JavaScript项目。这是Babel用来维护自己的Monorepo本身和开源的项目。
它可以:
让我们从以下方面熟悉Lerna:
LERNA管理项目可以使用两种模式默认来修复该模式。当Lerna Init -I命令初始化项目时,这是一个独立模式。(该模式用于管理多个软件包时的方式)
此时,我们已经完成了Lerna项目的初始化。在下面,我们有一些操作命令来管理Lerna。
范围:
在Lerna.json配置文件中,您可以指定工作模式,软件包的位置以及某些命令的默认参数定义。以下示例:
有了上述基础知识的基础知识,我们熟悉Lerna来通过简单的演示来管理软件包处理。
);larnamodule2();
好吧,我们第一个简单的Lerna应用程序已编译。下一步是发布工作。
需要使用包装下的软件包版本。该命令结合了这两个命令:和谐。
其中,Lerna版本不同于Lerna的管理模型(固定模式和独立模式)。
但是,主要工作是管理在执行哪些软件包之前发布哪些软件包,并在发布过程中生成的Git Commit和Git标签的提交。
在这里,您需要注意Lerna搜索包更改的逻辑:
在当前分支中,查找最新标签,比较当前的提交和标签,然后查看哪些软件包文件已更改。
该命令如下:
首次发布时可能会遇到以下问题和预防措施:
您可以使用以下两个版本方法:
目前,该行业中最有用的解决方案是:Lerna + Yarm Workspace MonorePo解决方案。两者的工作职责不同:
可以在下面查看此处的内容以查看《纱线工作区指南》。
发布时,您需要声明:
但是,由于该软件包未成功发布在NPMJS上,因此可以为重新发布执行以下命令:
可以从配置中删除。
对于该项目,最有用的方法是一起使用它。
因为它在依赖性管理方面非常好,所以它适用于我们业务方案依赖模块管理的管理。
发行版的发布仍在工作。
让我们从以下方面熟悉纱线工作空间:
初始化项目的步骤与上述方法相同。不同的是,需要完成以下配置:
纱线管理命令大致分为两类(易于混淆,首先提及):
它与Lerna Bootstarp ::不同
Module.exports = yarnmodule1;
// yarn-module2/index.js const yarnmodule1 = requees('yarn-module1');
函数yarnmodule2(){console.log('yarn-module2');}
yarnmodule1();yarnmodule2();
Module.exports = yarnmodule2;
没有意外,您会遇到以下错误:
错误:找不到模块'Yarn-Module1'
但是,最好的方法应该添加到中间,最好的方法是使用:
输出:Yarn-Module1 Yarn-Module2