此文是对蚂蚁金服文章的解读,所以要看懂此文一定要先去看原文:如何管理好10万行代码的前端单页面应用。
当时看到蚂蚁金服这篇文章有点茅塞顿开,只不过他们是基于 React 技术栈开发的,但是架构是一种思想,不区分语言不区分框架的,所以我相信这套架构一定可以应用到 Vue 项目中。废话不多说,直接进入正文。
同一“页面”内的模块再划分
这里意思是每个页面划分为 MVC 结构。那么如何用代码提现 MVC 结构呢。对于 Vue 项目中,难点在于 MC 两层。最后小组讨论用 Vuex 来架构 MC 两层,如下图所示。
领域模型
领域模型是指可跨模块复用的公共数据,所以我们也用 Vuex 来架构它,存放目录如下。
视图型组件和容器型组件
这一点要在 Vue 中实现其实也很好做,请看这篇文章。但是我们这边基于业务考虑,暂时觉得没必要弄得这么细,所以通用业务组件这一块,在我们 Vue 项目架构就没采用视图和容器这种组合方式了。
跨模块通信
为了保证模块的纯粹性,所以跨模块通信采用中介者模式来解耦。我们建立了一个 pageTalk 目录用中介者模式来处理跨模块通信。
总结
以上便是我们基于蚂蚁这套架构实现了 Vue 架构版。此套架构实现仅为我方团队的理解,不能作为标准,但可以为大家提供参考价值。
作者:深圳人人聚财前端团队
链接:https://juejin.im/post/5b0d0b556fb9a00a284982aa
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。