假设我有以下包结构:
Main
- c @ 2.0.0
- b @ 1.0.0
- d @ 1.0.0
- b @ 1.0.0
在这里,C 的 require(b) 和 D 的 require(b) 会有所不同(唯一的实例,而不是 ===)。这可以通过将 b 上移一级来解决:
Main
- b @ 1.0.0
- c @ 2.0.0
- d @ 1.0.0
现在,当 C 和 D 需要(b)时,它们将获得实际相同的对象。但是,假设我有这个布局:
Main
- b @ 2.0.0
- c @ 2.0.0
- b @ 1.0.0
- d @ 1.0.0
- b @ 1.0.0
在这里,我认为没有任何布局可以让 Main 的 require(b) 为 2.0.0,但仍然允许 c 和 d 共享相同的 b。我对么?我可以将 c 和 d 的 b 符号链接到同一个位置,但是我不能真正以收缩包装或任何其他格式表示该结构。