如何将 npm 包的目录暴露给 monorepo 中的其他包
How to expose directories of an npm package to other packages in a monorepo
我有一个包含两个包的 Lerna monorepo:myapp-web
和 myapp-core
。这些包中的每一个都有顶级 src/
目录来保存它们的代码。
我希望能够在 myapp-web
(也就是说,我想避免包含 src/
部分)。
我知道你可以在 package.json
的 main
属性中设置入口点。我可以做一些类似的事情,但要显示我想从包外提供的目录吗?我是否需要从 main
文件中进行命名导出并要求将它们选为 myapp-core/some-export
?
执行此操作的唯一方法是将文件从 src/
移动到项目的根目录。但是,您可以将其设置为在发布时发生。这样您就可以将源文件保存在 src/
中并将它们从您发布的包中排除。 lodash
和其他人就是这样做的。
这不是 monorepos 独有的。
我有一个包含两个包的 Lerna monorepo:myapp-web
和 myapp-core
。这些包中的每一个都有顶级 src/
目录来保存它们的代码。
我希望能够在 myapp-web
(也就是说,我想避免包含 src/
部分)。
我知道你可以在 package.json
的 main
属性中设置入口点。我可以做一些类似的事情,但要显示我想从包外提供的目录吗?我是否需要从 main
文件中进行命名导出并要求将它们选为 myapp-core/some-export
?
执行此操作的唯一方法是将文件从 src/
移动到项目的根目录。但是,您可以将其设置为在发布时发生。这样您就可以将源文件保存在 src/
中并将它们从您发布的包中排除。 lodash
和其他人就是这样做的。
这不是 monorepos 独有的。