从某种意义上来说,SPA确实做到了前后端分离,但这种办法存在两个问题:
WEB做事中,SPA类占的比例很少。很多场景下还有同步/同步+异步稠浊的模式,SPA不能作为一种通用的办理方案。

现阶段的SPA开拓模式,接口常日是按照展现逻辑来供应的,有时候为了提高效率,后端会帮我们处理一些展现逻辑,这就意味着后端还是涉足了View层的事情,不是真正的前后端分离。

SPA式的前后端分离,是从物理层做区分(认为只假如客户真个便是前端,做事器真个便是后端),这种分法已经无法知足我们前后端分离的需求,我们认为从职责上划分才能知足目前我们的利用场景:
前端:卖力View和Controller层。
后端:只卖力Model层,业务处理/数据等。
为什么要前后端分离?
1 、现有开拓模式的适用场景
现有的开拓模式,各有各的适用场景,没有哪一种完备取代其余一种。
比如后端为主的MVC,做一些同步展现的业务效率很高,但是碰着同步异步结合的页面,与后端开拓沟通起来就会比较麻烦。
Ajax为主SPA型开拓模式,比较适宜开拓APP类型的场景,但是只适宜做APP,由于SEO等问题不好办理,对付很多类型的系统,这种开拓办法也过重。
2 、前后端职责不清
在业务逻辑繁芜的系统里,我们最怕掩护前后端殽杂在一起的代码,由于没有约束,M-V-C每一层都可能涌现别的层的代码,日积月累,完备没有掩护性可言。
虽然前后端分离没办法完备办理这种问题,但是可以大大缓解。由于从物理层次上担保了你不可能这么做。
3、开拓效率问题
淘宝的Web基本上都是基于MVC框架webx,架构决定了前端只能依赖后端。
以是我们的开拓模式依然是,前端写好静态demo,后端翻译成VM模版,这种模式的问题就不说了,被吐槽了良久。
直接基于后端环境开拓也很痛楚,配置安装利用都很麻烦。为理解决这个问题,我们发明了各种工具,比如VMarket,但是前端还是要写VM,而且依赖后端数据,效率依然不高。
其余,后端也没法摆脱对展现的强关注,从而专心于业务逻辑层的开拓。
4、对前端发挥的局限
性能优化如果只在前端做空间非常有限,于是我们常常须要后端互助才能碰撞出火花,但由于后端框架限定,我们很难利用Comet、Bigpipe等技能方案来优化性能。
为理解决以上提到的一些问题,我们进行了很多考试测验,开拓了各种工具,但始终没有太多转机,紧张是由于我们只能在后端给我们划分的那一小块空间去发挥。只有真正做到前后端分离,我们才能彻底办理以上问题。
下面我们就利用vue+node+mySql实现前后端分离
环境搭建第一步安装node:
可以在http://nodejs.cn/download/ 直接***安装哦,各种系统的都有,并且新版本不须要手动配置环境。安装好后打开cmd输入node -v 和 npm -v即可查看是否安装成功。
第二步安装vue:
直接在命令行中输入npm install vue。再进入到想要创建项目的目录下;
//安装脚手架
npm install –global vue-cli
//安装webpack干系依赖
vue init webpack my-project
//进入到项目中
cd my-project
npm install
//运行vue项目
npm run dev
第三步安装node express:
在项眼前(my-project)cmd输入
:npm install express
第四步安装xammp和navicat:
这个大略,就不用详细先容啦!
直接安装后就运行mysql就行。然后用navicat建立数据库。
做好了准备事情,接下来我们进入本日的主题:
效果预览:vue代码(局部):这里须要用Vue-resource不然this.$http.post报错!
这个推举一个大神写的比较详细的
直接在vue项目中建立servser文件夹node文件都可以放到项目中。
末了npm run build会天生dist文件夹!
文件夹中的文件是末了的页面。
node代码:
首先建立做事
建立api接口:
数据库:
vue路由管理 和跨域管理在config文件夹下index.js文件中 dev: 中添加如下代码。
直接运行localhost:8088就好啦。
对编程感兴趣,想理解更多的编程知识,关注头条号一起玩转编程
更多编程资讯、干货持续更新中~










