如何将 npm 包的目录暴露给 monorepo 中的其他包

How to expose directories of an npm package to other packages in a monorepo

我有一个包含两个包的 Lerna monorepo:myapp-webmyapp-core。这些包中的每一个都有顶级 src/ 目录来保存它们的代码。

我希望能够在 myapp-web (也就是说,我想避免包含 src/ 部分)。

我知道你可以在 package.jsonmain 属性中设置入口点。我可以做一些类似的事情,但要显示我想从包外提供的目录吗?我是否需要从 main 文件中进行命名导出并要求将它们选为 myapp-core/some-export?

执行此操作的唯一方法是将文件从 src/ 移动到项目的根目录。但是,您可以将其设置为在发布时发生。这样您就可以将源文件保存在 src/ 中并将它们从您发布的包中排除。 lodash 和其他人就是这样做的。

这不是 monorepos 独有的。