gpt4 book ai didi

node.js - 勒纳。将依赖项安装到根项目

转载 作者:搜寻专家 更新时间:2023-10-31 23:14:57 26 4
gpt4 key购买 nike

我有这样的标准 Lerna 存储库:

my-repo
- package.json
- packages
- api
- package.json
- web-app
- package.json

如果我需要在两个包中使用相同的依赖项(例如 lodash),那么教程中的人建议将它安装到两个子模块,然后使用 lerna bootstrap --hoist 引导项目 标志。

因为 --hoist 标志 lodash 依赖项将只加载到根级别 node_modules 但两个子模块都将包含它作为依赖项在他们适当的 package.json

但是 Node 的包解析算法会在文件树中搜索 node_modules 文件夹。

所以我的问题是为什么我不能只将通用依赖项安装到根级项目?然后 lodash 将位于 root 的 node_modules 下。子模块(包)会找到它,因为 Node 会搜索 node_module 直到到达文件系统的根目录。

至少它会帮助我避免使用不常见的 lerna bootstrap --hoist,以及 lodash 依赖项只会在顶层出现一次 package.json(而不是两次:在两个子模块的 package.json 中)

最佳答案

So my question is why I can't just install common dependencies to root level project?

您可以,而且您是对的, Node 的解析算法会很好地找到共享依赖项。这样做的缺点是您失去了灵 active ,并且您需要部署或使用整个 mono-repo,这可能适合您。一种更传统的方法是将生产依赖项保留在子包中,以便您可以发布包并单独使用它们而不依赖于 monorepo 的根目录,但这对您来说可能并不重要。

关于node.js - 勒纳。将依赖项安装到根项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53739280/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com