20年前端跨项目复用组件讨论

当存在多个端时,比如项目A 需要项目B里面一个模块里的组件,遇到这个问题时,我们应该怎么去管理我们的项目或者组件?

看了很多文章有使用lerna管理整个项目,有使用npm去管理公共组件的,也有使用 git subtree去解决问题。
不知道各位大侠在实际中怎么去解决这个问题

阅读 2.8k
2 个回答

npm来管理通用的组件即可,可以形成自己的业务组件或者工具,不同的项目各自引用。

  1. lerna 没用过,不发表意见
  2. 我最初使用 git submodule,后来发现效率很低:

    1. 没有版本管理
    2. 需要拉多次,协作的时候往往要多费口舌
    3. 不同项目间的不好同步,尤其在有差异的情况下(还是没有版本管理)
    4. 依赖的依赖不好管理
  3. 如果说好处的话,也就是 submodule 好修改了
  4. 现在试用 npm (GitHub registry),优势:

    1. 版本管理真好用啊真好用
    2. npm i/ci 一次安装完,省事儿
    3. 项目独立开发,独立测试(这个其实 submodule 也能做到,不过当时没做好
    4. 依赖的依赖容易处理
  5. 所以推荐后者(我们目前有大约6个常用的不同功能的私有库)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题