5

我正在尝试使用 Angular 原理图,并且在各个地方都遇到了函数 branchAndMerge()。然而,没有人解释它的作用。

我见过的地方:

澄清它与merge/mergeWith的区别以及如何正确使用它将不胜感激。

PS:合并在@angular-devkit/schematics中解释如下:

将输入树与另一棵树合并。

顺便说一句,我假设 merge() 现在是 mergeWith,尽管我对此不是 100% 确定的。

代码示例

const rule = 
    // Creates a new rule that is a concatenation of other rules.
    chain([
      // Everyone uses it, but no one explains what it does...
      branchAndMerge(
        chain([
        // Merges the project tree with the virtual tree
        mergeWith(virtualTree)
      ]))
    ]);
4

1 回答 1

2

以下视频给出了迄今为止我听到的最好的解释:

从当前树分支,树是基于当前目录的虚拟文件系统

如果要查看repo 中的代码,就会发现情况确实如此。我想这样做的好处是出于性能原因,其中它允许修改键/值而不是实际的硬盘。此外,我想它还简化了过程,因为它使位置无关紧要,这会使原理图的过程变得非常复杂。

于 2018-07-16T01:27:01.410 回答