在 Lerna monorepo 中使用助手

Posted

技术标签:

【中文标题】在 Lerna monorepo 中使用助手【英文标题】:Using helpers in a Lerna monorepo 【发布时间】:2020-07-30 16:12:01 【问题描述】:

我有一个 Lerna 驱动的 monorepo,其中包含发布到 NPM 的各种包。其中有各种帮助函数,它们位于 repo 的根目录并由几个包共享。

我遇到的问题是,当每个包都使用 Babel 构建时,转译的代码使用 require 来获取这些帮助程序。显然这不起作用,因为当一个包发布时,它需要完全自包含——那些助手不在那里。

有没有办法解决这个问题?我不想在包之间复制助手。

当使用lerna bootstrap --hoist 时,我仍然遇到同样的问题。

【问题讨论】:

【参考方案1】:

我看到的最简单的解决方案是创建一个在使用 lerna publish 时不发布的辅助工作区。

您将能够将此“帮助”工作区设置为每个工作区的依赖项,从而避免代码重复。

【讨论】:

以上是关于在 Lerna monorepo 中使用助手的主要内容,如果未能解决你的问题,请参考以下文章

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

在 Netlify Monorepo (Yarn Workspace/Lerna) 上使用 UI 库作为 Web 应用程序的依赖项

如何在不发布的情况下在 lerna monorepo 中构建 docker 镜像

开发人员是不是应该能够在他们的开发环境中从 lerna monorepo 创建 docker 工件?

Github 操作似乎无法在带有纱线工作区和 lerna 的 monorepo 中找到私有包

Lerna 停止维护后,Monorepo发包新方案Changesets快了解一下!