我有一个 Lerna monorepo,它由两个包组成:myapp-web
和 myapp-core
。每个包都有顶级 src/
目录来保存其代码。
我希望能够将 myapp-core/src/some-subdir
作为 myapp-core/some-subdir
导入(与导入 lodash/effects
或 lodash/fp
的方式类似)在 myapp-web
内部(也就是说,我想避免包含 src/
部分)。
我知道您可以在 package.json
的 main
属性中设置入口点。我可以做一些类似的事情,但显示我想从包外部提供的目录吗?我是否需要从 main
文件进行命名导出,并需要将它们选择为 myapp-core/some-export
?
最佳答案
执行此操作的唯一方法是将文件从 src/
移动到项目的根目录。不过,您可以将其设置为在发布时发生。这样,您就可以将源文件保存在 src/
中,并将它们从发布的包中排除。这就是 lodash
和其他人所做的。
这并不是 monorepos 独有的。
关于node.js - 如何将 npm 包的目录公开给 monorepo 中的其他包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909508/