[原创]基于VueJs的前后端分离框架搭建之完全攻略 (9)

 

[原创]基于VueJs的前后端分离框架搭建之完全攻略

 

在初始化Grid和Vue的页面JS中(01.page.js),我们像下方代码这样使用:

 

[原创]基于VueJs的前后端分离框架搭建之完全攻略

 

在上方代码中初始化VueGrid实例时,设置了mock数据源为page.api.mockSearchList这个方法。我们可以通过全局的mock开关控制page.api.mockSearchList这个方法是否为null从而控制该grid是否使用mock数据。

 

请看02.api.js中的代码:

 

[原创]基于VueJs的前后端分离框架搭建之完全攻略

 

上方代码中,如果mvcApp.mock被设置为了false,那么page.api.mockSearchList就不会被定义,也就是undefined(null);如果mvcApp.mock被设置为了true,那么page.api.mockSearchList才会被赋值,这时grid将使用mock数据。

 

最后,为了方便大家理解整个Grid控件的使用过程,笔者再给大家看看我们自己写的VueGrid的html端的代码,很简单,很灵活,支持排序、分页,支持JSON和HTML两种数据格式:

 

[原创]基于VueJs的前后端分离框架搭建之完全攻略

 

至此,我们的Grid控件的mock改造就已经完全完成了。改造后实现的效果:不需要修改01.page.js,不需要VueGrid.js,也不需要修改02.api.js,只需要修改mvcApp.mock的值就可以切换是否使用mock数据

 

这样,我们mock开关的状态控制就非常的简单,并且,最关键的是,不容易出错!

 

第六章   结语

最后,笔者再带大家回顾一下本文中的提到的一些关键技术、观点和看法:

 

(1)前后端分离最关键的环节是API文档服务框架,没有一个好的API文档服务做支撑,前后端分离之路举步维艰。笔者建议大家按照本文提供的思路自行搭建,或者考虑使用我们现成的框架;

 

(2)VueJs官网介绍的规模化架构方案并不一定是最好的,如果你们团队拥有后端架构师,笔者建议仅仅把VueJs当做HTML模板引擎即可,至于VueJs官网描述的其他特性可以忽略;

 

(3)VueJs的异步渲染是一个非常重要的知识点,但是VueJs官网并没有将之置于显眼的地方,因此一定要熟练掌握Vue.nextTick方法及其工作原理;

 

(4)VueJs是完全可以和其他第三方框架/库兼容的,关键是要掌握其工作原理,比如我们项目中VueJs就很好地与jQuery、jQueryUI以及我们自己的JS控件库交互,虽然VueJs官网建议DOM操作全部交由VueJs接管,但笔者仍然建议很多时候用jQuery操作DOM更有优势,因为jQuery的封装性更好(比如我们的Grid控件,之所以使用起来很简单,那是因为内部通过jQuery封装了很多操作);

 

(5)真正的前后端分离一定离不开mock,不要觉得mock是一个多么复杂多么高深的东西,在笔者看来,mock仅仅是一种思想,你只要明白其核心思想,自己写出的mock框架才是最好用的;

 

(6)前后端分离,如果做好了,利远大于弊。从我们团队实施分离之后的这段时间来看,其对团队的正面影响非常明显;从长远来看,前后端分离促进社会分工,让公司的人才培养之路更加清晰,更加高效,更加具有竞争力。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyjsj.html