网站开发基础知识2_前后端分离

============【网站开发的技术架构】================

第一,路由和后端渲染页面没有什么关系。我单纯返回一个数据也能用路由。所以去认真读读路由的相关文档。后端什么,前端什么。
第二,详细的说法到处都有,百度就有,我就通俗地说,后端路由其本质是“绑定处理逻辑和URI”。前端路由的本质是“跳转”,其实也是在绑定东西,让它们联系起来。这也是框架一大功能。路由就是去设置,“在哪里”,“做什么”。

答案:
1.你明白了路由是什么,需要用到就会用。项目中两者都用到。现在正经一点点的项目都是前后端分离的。
2.当然不是,单页面和前端路由没什么关系。单页面是一种设计的模式,前端路由是一种技术。
3.前端获取ajax数据不需要前端路由也能行,后端给数据就可以了。那后端不用路由可以吗?也可以,后端收到请求给数据就是了。不管是用什么框架,它们的规则都是一样的。


后端程序员们不再主动拉取数据填充HTML渲染模板。
而前端程序员利用浏览器的Ajax技术,主动拉取数据后填充网页。
然后交由浏览器渲染页面后展示给用户。


页面能够局部以异步的方式去渲染,而不是用户等待服务端渲染整个页面才可以做交互 。
增加了多次HTTP请求,相对于后端组装完成后直接吐出HTML文件,此种方式势必会多出多个新的请求来获取后端提供的业务数据。
前后端在代码层面并没有完全的解耦,前端静态模板这一层依旧由MVC中的视图层来控制,前端需要新增路由和页面时,需要后端新增视图层。

 

单页面应用,一个简单布局的独立的静态网页,即可以是服务端渲染也可以是客户端渲染。
前后端分别独占仓库,利用nginx进行转发
预先设定后端请求均是/api开头的,当用户请求到达服务器时,先判断路径是否/api开头,如果是则转发至接口服务,否则进入前端项目下,返回html模板给前端渲染。


Ajax的全称Asynchronous JavaScript + XML(异步JavaScript和XML)。
什么是Ajax?
Ajax是一种技术方案,但并不是一种新技术。它依赖现有的CSS/HTML/JavaScript,而其中最核心的依赖是浏览器提供的XMLHttpRequest对象,
是这个对象使得浏览器可以发出HTTP请求与接收HTTP响应。实现了在页面不刷新个情况下和服务器进行数据交互。


浏览器(客户端)
服务器(服务端)//包含了后端、前端
所谓前端渲染实际上应该是浏览器渲染;


模板时代:
页面中那些需要更新的内容,用标签留白,后端程序向指定标签传送数据。这个过程称为“渲染”。
这会导致前后端人员,仍然需要维护同一个HTML文件,业务逻辑还是不能做到很清晰。

API时代:
前后端通过Ajax和JSON互传数据。
对于前端设计师来说,他们只关注与页面和数据(规范化之后的JSON),而不需要 关注逻辑。
而后端彻底和HTML页面解耦。
他们之间唯一的衔接点就是API的制定和联调。

 

================【参考链接】========================

Vue.js和Django搭建前后端分离项目实例详细解说 //简易版
http://www.shtml.net/article/content/tok/52377/id/160199.shtml

 

Django + Vue.js构建前后端分离项目 //这个比较实用,可以参考
https://blog.csdn.net/qq_41807489/article/details/89362136

 

从零到一 django + vue 构建前后端分离项目 //有介绍环境安装,可以参考
https://blog.csdn.net/ros_donggua/article/details/82800510

 

关于Django与VUE.js //主要介绍Django项目搭建
https://blog.csdn.net/godqiao/article/details/78878527

 

Django+Vue.js构建项目 //有讲在Django中设计api
https://zhuanlan.zhihu.com/p/54776124

 

django与vue结合
https://blog.csdn.net/HYESC/article/details/84869765

 


后端Django + 前端Vue.js快速搭建web项目
https://blog.csdn.net/Jack_wise/article/details/80690826

 

Django+Vue.js搭建web项目
https://www.codercto.com/a/42825.html

 

Django Vue.js搭建前后端分离项目超详细过程
https://www.jianshu.com/p/fa0ae80d17d1

 

Vue + Django?—?使用两种前端框架的优势 //同时使用Django模板和Vue
https://python.freelycode.com/contribution/detail/1634

 


一文带你理解前后端分离本质
https://blog.csdn.net/qq_27053493/article/details/98348009

 

如何正确理解前后端分离?
https://www.zhihu.com/question/267014376

 


深入研究Node.js开发Web应用程序
https://baijiahao.baidu.com/s?id=1611638129948170383&wfr=spider&for=pc

 

Node.js 究竟是什么?
https://segmentfault.com/a/1190000019283751

 

nodejs的作用【转】
https://www.cnblogs.com/langren1992/p/11689430.html

 

前端面试题:Ajax是什么?
https://www.jianshu.com/p/67f0e7f32011

 

前端程序员必知:单页面应用的核心
https://www.jianshu.com/p/901b8b1c88b7

 

posted @ 2020-04-01 09:26  Grooovvve  阅读(245)  评论(0编辑  收藏  举报