node.js - 如何将 npm 包的目录公开给 monorepo 中的其他包

标签 node.js npm lerna

我有一个 Lerna monorepo,它由两个包组成:myapp-webmyapp-core。每个包都有顶级 src/ 目录来保存其代码。

我希望能够将 myapp-core/src/some-subdir 作为 myapp-core/some-subdir 导入(与导入 lodash/effectslodash/fp 的方式类似)在 myapp-web 内部(也就是说,我想避免包含 src/ 部分)。

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

最佳答案

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

这并不是 monorepos 独有的。

关于node.js - 如何将 npm 包的目录公开给 monorepo 中的其他包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909508/

相关文章:

npm - bower 不是通过npm update -g bower更新的

node.js - 为什么 `npm version` 没有提交更新的 package.json?

node.js - 在 socket.io 中使用代理时未获取远程地址

http - Node.js:在检索 http 请求正文之前断开 http 请求连接

node.js - 为 WebSocket 和 net.Socket 分配唯一 ID

reactjs - 在故事书 monorepo 中提供静态 Assets

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

javascript - $addToSet 到一个数组,但它给了我 null

javascript - 我收到错误, `req.redirect` 不是函数

javascript - 通过 git URL 从 lerna 管理的 monorepo 安装包