9

对于一个多团队协同开发的前端管理后台项目(vue),现在有什么比较成熟的协同开发方案吗...

 2 years ago
source link: https://www.v2ex.com/t/841771
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  Vue.js

对于一个多团队协同开发的前端管理后台项目(vue),现在有什么比较成熟的协同开发方案吗?比如前端微服务,现在是否是个可行的开发项目?

  retrocode · 3 小时 46 分钟前 · 397 次点击

目前公司需要开一个新项目,预计会分多个模块,部分外包,部分自行消化,由于是个聚合系统,会对接多方接口.

预计到人员嘈杂到时候在开发时会有很大的冲突,后端还好微服务独立部署问题不大,前端由于是一个统一的后台,并行开发的模块光提交造成的冲突可能就会很多,需要提前准备一个协同方案.

哪种设计更合理可减少协同冲突? 前端微服务是否是一个可行的方案? 或者大家公司是否有类似的经验可以让我参考下?

6 条回复    2022-03-21 13:25:57 +08:00

relsoul

relsoul      2 小时 44 分钟前

正好在做这块
1. 微服务解决的是 project 与 project 之间的问题,微服务还需要有个统一的大入口,要跟 pm 进行沟通
2. 如果只是 project 级别内的问题 可以考虑 git submodule 从 component 和 router 级别进行抽离就行了
3. 代码冲突避免不了 内部人员开发也都会出现这些问题,如果想避免 那就在后台写一套 npm auto import 框架 通过 npm 包的形式再抽离开,前提是该有的变量要 export 出去,这里其实也会涉及到规范

上面的 1 ,3 都比较麻烦 看你的 time buffer 还有多少了 以及你有多少人去填这个坑

otakustay

otakustay      2 小时 37 分钟前

听上去虽然有多方开发,但各方至少在技术和工具上是可控的,那就 Module Federation

3dwelcome

3dwelcome      2 小时 24 分钟前

反正都是从头开发,直接用组件模式隔离不是挺好的。

前端微服务以前都是深度隔离,都是要用 postMessage 来传递消息。或者一部分代码干脆放 webworker 里,这样过于复杂化了。

当然要我来开发,直接用 wasm 插件隔离。有几个模块,就导入几个 wasm 文件,作为插件用 JS 动态载入。

retrocode

retrocode      1 小时 52 分钟前

@relsoul #1 时间应该是充裕的,按现在的设想,往后需要把 现有项目和后续新开项目全部整合进去,唯一担心的就是初始没规划好后面堆屎山

@otakustay #2 好的,我了解下
@3dwelcome #3 不至于不至于,一个跑业务的管理后来我感觉还用不上 wasm

cxe2v

cxe2v      52 分钟前

如果各个团队负责开发的是不同的功能,那么前端微服务挺适合,如果是都在相同的功能模块上开发功能,那需要从代码结构上做调整

abcd191898105

abcd191898105      34 分钟前 via iPhone

@retrocode 京东的 microApp 微服务框架。完美解决你的问题

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK