在我的 monorepo 中,我有 3 个包package1
, package2
, package3
,每个包都包含一个名为的 npm 脚本build
.
但是,这些包并未链接在一起。 IE。没有require()
在任何链接到同级包的包中。
从根文件夹中,我运行lerna run build
。看来要跑了build
按字母顺序排列的包。
有没有办法指定运行顺序build
这些包的命令?
--sort
不起作用,因为它们没有链接。
您不指定顺序,而是通过将一个包作为另一个包的依赖项包含来指定拓扑。
If package1
需要先构建package2
你添加package1
的依赖关系package2
在后者的package.json
文件。如果你不想package2
直接依赖于package1
(例如在生产中)您仍然可以将其添加到devDependencies
Lerna 会理解这种依赖性。
From lerna -h
:
--sort 按拓扑顺序对包进行排序(依赖项位于依赖项之前)。
通过 --no-sort 来禁用。 [布尔值] [默认值:true]
Note运行某些命令时可以忽略此拓扑,例如lerna exec 的 --parallel 选项文档 https://github.com/lerna/lerna/tree/master/commands/exec#--parallel:
完全忽略并发性和拓扑排序
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)