关于 monorepo 中本地包的执行

2023-08-28 15:59:32 +08:00
 qiliangya

现在项目是用 pnpm 建立的 monorepo ,在 packages 中的一个包是用作"生成器"功能的,例如关联的 bin 命令是cli那我该如何实现在本地的工作空间内任意终端执行cli 就能运行这个包,而不是发布。

788 次点击
所在节点    程序员
5 条回复
CHTuring
2023-08-28 16:13:47 +08:00
cli 运行使用一个唯一的命名,运行的时候加上 -r 选项(虽然看起来有点不太好)
qiliangya
2023-08-28 17:27:49 +08:00
@CHTuring 倒不失为一个办法 :)
perfectlife
2023-08-29 17:44:38 +08:00
感觉 monorepo 真的是比较痛苦,完全是增加代码以外的复杂度
qiliangya
2023-08-30 09:44:49 +08:00
@perfectlife 之前我们用了微前端来解决巨石应用的构建问题,自然就带上了 monorepo , 后面改成了 vite ,习惯了之后就没换了。 有一说一,多项目在复用代码上优势很大,但也有挺多困扰的,例如团队代码权限挺难控制
perfectlife
2023-08-30 19:14:08 +08:00
@qiliangya 代码复用是优势,同时也像你说的权限管理压根没法弄,除此之外从运维角度上 monorepo 做 cicd 复杂度太高了,项目下有 ios, 安卓,有些服务作为普通 web 要放到独立的 nginx 下 ,有的做成镜像部署到 k8s ,真的是复杂度很多,前端本身就是灵活多变,这样搞的就很不灵活,可能一直需要打补丁。

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

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

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

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

© 2021 V2EX