请大佬帮解答下VUE与后端数据交互的问题?

JavaScript04

请大佬帮解答下VUE与后端数据交互的问题?,第1张

以下针对的是你要用vue+webpack开发前后端分离单页面项目(spa)来回答,vue也可以用在传统MVC的视图层,这种开发模式不在回答范畴

开发spa的话,视图路由切换(router)逻辑都在前端,前后端分离,基本是一个html完成所有页面,不再(很少)需要后端渲染视图了

这是前端框架开发问题,跟后台没什么关系

只有开发依赖nodejs,打包后就是可以直接运行的普通html+js文件,上线并不需要专门的环境

可以跟后台项目放一起,只要能打开包后的index.html 放哪里都行

AJAX,数据交互完全通过AJAX,视图逻辑都在前端处理,哪个页面需要的哪个数据通过AJAX请求让后台指定接口提供,不会存在后台不知道提供给哪个页面,前台不知道怎么接受数据的问题。

jQuery的诸多局限性导致前端工程师的发展受到了很多的限制,只能做一些表面性的工作,并不能实现前后端分离开发。

而近期出现的Vue,它给前端带来了无限的可能和改变。

改变一:真正意义上的前端工程师

之前开发都是前端做静态页面,把页面给到后台程序员改成jsp、php、asp等等...一顿乱改,一顿塞变量,做完以后页面样式乱七八糟,最后你再调整css。说白了你会html,css就行了,基本没什么门槛,可以这么说。

有了Vue和Node的前端工程化以后,前端工程师能做的事情越来越多,后台人员只需要抛过来一个Api,剩下的就可以都交给前端了。

改变二:服务端渲染VS客户端渲染

传统的jsp、php或是模板渲染也好,都是服务端渲染,就是客户端一个请求,服务器直接把整个页面返回给你,简单粗暴。(Spring Boot是通过模板引擎,由服务端完成的渲染工作)

但是vue开发是前后端分离开发,通过api进行交互,客户端请求服务器返回json数据,由客户端进行渲染。

不仅减轻了服务器的压力速度更快而且渲染更加优雅,代码更容易维护。

改变三:渲染优雅,代码易维护

jQuery是通过DOM来控制数据,不仅笨重而且渲染数据特别麻烦,而 Vue是通过数据来控制状态,通过控制数据来控制渲染,变量可以直接写在标签中,渲染更加优雅。

因为前端代码和后台代码都是分开的,所以项目更容易维护,开发效率更高。

改变四:项目工程化,结合npm直接安装第三方库

Vue让前端项目更加工程化,同时也规范了前端工程师的代码,而node和npm的加入才是vue能蓬勃发展的重要原因。

Node为Vue提供了本地server和模块化开发的思路,npm更能安装Vue项目需要的模块,配合Vue使用,比如Moment.js Element ui vuex等等,这些第三方库让Vue有了无限的可能。

敲黑板(补充下):传统开发jQuery是命令式编程,现代框架开发是函数式编程。现代框架开发,可以使用Webpack(当然使用jQuery也可以使用Webpack),可以使用人家提供的现成的脚手架,比方说create-react-app,vue-cli。极大提高了开发的效率,并且可以使用最新的ES6、ES7语法进行开发,在编码体验上,就提高了一个档次。

总结

知其然,知其所以然,没有最好的框架,只有最合适的框架!