具有监视任务的 Lerna - lerna run --parallel

Mic*_*ick 10 javascript node.js lerna angular

我有三个包:

  • A, 依赖于取决于C
  • B, 依赖于取决于C
  • C

使用时lerna run build,在和C之前构建(好!)AB

但是,当我开始观看任务时lerna run watchC永远不会完成,因此A不会B被观看。

使用lerna run watch --parallelstarts ABandC同时butAB都抛出错误,因为它们无法从中找到dist文件夹CC在重建之前刚刚删除)。

有没有什么方法可以启动监视任务,但仍然像正常运行一样保持依赖关系的顺序?或者至少推迟一些其他人?

tra*_*mer 0

更新:根据评论,我想我现在明白发生了什么。如果您有构建依赖项,它们应该位于同一线程而不是并发线程中,即它们应该按顺序构建。

但是,您仍然可以尝试..使用--noClean构建中的选项,它不会 删除dist 文件夹!然后你的并行构建将会运行。


三个设置:我会配置/仔细检查(你没有列出你的package.json),这样就lerna知道要遵循什么顺序

  1. 首先按照正确的顺序列出您的清单peerDependencies
  2. 把那些放在devDependencies
  3. 给定的叶子package.json

...定义的 glob 与 lerna.json 所在的目录相关,该目录通常是存储库根目录。唯一的限制是您不能直接嵌套包位置,但这也是“普通”npm 包共享的限制。所以...packages/* 下的叶包被认为是“最佳实践”

在此输入图像描述

最后,拓扑顺序将lerna run在构建中由用户使用,您可以强制它根据需要包含依赖项--include-dependencies/或--include-dependents标志,如下所示


解决方法选项 2:现在要过去,您可以执行以下操作...

lerna run build --concurrency 1
Run Code Online (Sandbox Code Playgroud)