V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qiliangya
V2EX  ›  程序员

关于 monorepo 中本地包的执行

  •  
  •   qiliangya · 2023-08-28 15:59:32 +08:00 · 813 次点击
    这是一个创建于 451 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    5 条回复    2023-08-30 19:14:08 +08:00
    CHTuring
        1
    CHTuring  
       2023-08-28 16:13:47 +08:00
    cli 运行使用一个唯一的命名,运行的时候加上 -r 选项(虽然看起来有点不太好)
    qiliangya
        2
    qiliangya  
    OP
       2023-08-28 17:27:49 +08:00
    @CHTuring 倒不失为一个办法 :)
    perfectlife
        3
    perfectlife  
       2023-08-29 17:44:38 +08:00
    感觉 monorepo 真的是比较痛苦,完全是增加代码以外的复杂度
    qiliangya
        4
    qiliangya  
    OP
       2023-08-30 09:44:49 +08:00
    @perfectlife 之前我们用了微前端来解决巨石应用的构建问题,自然就带上了 monorepo , 后面改成了 vite ,习惯了之后就没换了。 有一说一,多项目在复用代码上优势很大,但也有挺多困扰的,例如团队代码权限挺难控制
    perfectlife
        5
    perfectlife  
       2023-08-30 19:14:08 +08:00
    @qiliangya 代码复用是优势,同时也像你说的权限管理压根没法弄,除此之外从运维角度上 monorepo 做 cicd 复杂度太高了,项目下有 ios, 安卓,有些服务作为普通 web 要放到独立的 nginx 下 ,有的做成镜像部署到 k8s ,真的是复杂度很多,前端本身就是灵活多变,这样搞的就很不灵活,可能一直需要打补丁。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:46 · PVG 08:46 · LAX 16:46 · JFK 19:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.