中间件,前后端分离思想
中间件
什么是中间件呢?
个人理解中间就相当于一个过滤器,在客户端和应用程序间用来处理req和res的方法
浏览器向服务器发送一个请求后,服务器直接通过request.定位属性的方式得到通过request携带过去的数据,这中间就一定有一个函数将这些数据分类做了处理,已经处理好了,最后让request对象调用使用,这个函数可以说就是中间件
Espress中的中间件:
中间件的结构:
app.use.([path],function)
path : 是路由的url,默认参数是”/”,意义是路由到这个路径时使用这个中间件
function:中间件函数,可以理解为function(req,res,next){}若涉及到第三方中间件的使用,先按装好在使用
中间件的分类:
内置中间件:express中先开始定义好的中间件可以直接引用
自定义中间件: 当每个请求到达服务器时,nodejs会为请求创建一个请求对象(request),该请求对象包含客户端提交上来的数据。同时也会创建一个响应对象(response),响应对象主要负责将服务器的数据响应到客户端。而最后一个参数next是一个方法,因为一个应用中可以使用多个中间件,而要想运行下一个中间件,那么上一个中间件必须运行next()。,
第三方中间件:需要下载安装好在使用的
前后端分离与不分离
在前后端不分离的年代中,后端程序员直接将后台语言例如php等和js,html,css等写在一起,随着现在的网站技术发展与用户交互越来越多,单纯让后端程序员去完成全部的工作,已经不太可能,同时代码的维护变得非常困难,前后端分离是必然,
在前后端不分离的模式中,前端页面看到的效果都是后端控制,由后端渲染页面而成,前端和后端的耦合度很高,这种模式适合纯网页应用,但是当后端对接App时,App可能不需要返回一个HTML网页而仅仅是数据本身,这时前后端分离就能解决这个问题
前端分离的模式中后台后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。
在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。
在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个接口,或者API,前端通过访问接口来对数据进行增删改查。前端分离也有自己的缺点
对于做网站的排名优化不利,SEO的爬取,前后端未分离模式适合网站排名优化,SEO的爬取