年轻人的第一个前端 monorepo 怎么选型

2022-08-21 12:52:11 +08:00
 GiantHard

TLDR;

如果你正在为前端项目的 monorepo 寻找技术方案,我建议你试试 nx ,它提供了一系列的工具来帮助你实现 monorepo 中代码的模块化、标准化。

我的 nx 实践体验可以总结为三点:

  1. 拆分模块,利用构建缓存、任务编排、增量构建提高构建速度
  2. 用样板代码生成器,保持各个模块代码结构上的一致性,减少创建、更新样板代码的手动操作,在规模庞大的 monorepo 中,这点尤其重要
  3. 复用执行器,为 monorepo 中所有的模块提供标准化的开发体验

如果你感兴趣的话,不如看看 原文

2592 次点击
所在节点    前端开发
7 条回复
wu67
2022-08-21 13:13:15 +08:00
推广请发推广节点, 分享技术麻烦写点干货
yikyo
2022-08-21 15:16:24 +08:00
最近再研究 pnpm workspace + changesets
GiantHard
2022-08-21 15:32:45 +08:00
@yikyo changesets 相关的内容我没太关注 ,我工作上的项目基本上不需要发布到 npm registry ,所以没有做项目本身的发布管理。
GiantHard
2022-08-21 16:18:23 +08:00
@wu67 感谢提醒,我只是 nx 的一个用户,文章写得像是在推广,但并不是推广,我下次注意避免写得像软文。

---

网络上讨论 monorepo 优劣的文章很多,讲「怎么用 XXX 搭建 monorepo 」的文章也很多,我之前在做技术选型的时候也参考这些文章比较过各种实现方案的差异跟好坏。

记得当时被 nx 打动的原因有两点:1. 构建缓存 2. 代码标准化。

经过实践,我发现「代码标准化」确实给项目带来的长期收益更大。这也是我写这篇文章的出发点,向正在纠结技术选型的人展示 nx 如何通过代码标准化帮助你管理不同规模的 monorepo 。

在打造适合自己项目的 monorepo 方案的时候,也可以从「代码标准化」这个角度来比较手头上的选择。
ruanyu1
2022-08-21 16:36:10 +08:00
我的落地方案是 Turborepo + vercel remote cache ,changeset ,pnpm workspace
a1248499257
2022-08-22 09:21:33 +08:00
感觉我的比较老 lerna workspace + yarn
liuzhaowei55
2022-09-13 15:09:10 +08:00
最近准备尝试一下 monorepo ,刚好也搜到了 nx

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/874331

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX