express 初步印象

express, 是nodejs的一个很流行的框架,楼主现在的公司node层用的就是这个卡框架,所以今天看了文档准备学习一下。

我的个人理解是express是一个处于真实后端和前端之间的服务器,主要任务是处理前端的request,和后端返回的response。

个人经验比较少,体会到的node层的好处主要是使职责更加分明,减少浏览器本身的压力。同时隔离了前后端,大幅度降低前后端耦合度。比如某个场景下后端返回的数据需要处理后前端才可以直接使用,这时候node层就可以发挥作用了。

几个常用函数

app.get/post/put/delete

结构:  app.get(url,callback)

URL是路由,当目前请求路由和此路由匹配时,则有callback进行处理。

app.use(url,callback)

可以理解为在发送请求的过程中mount了一个中间件,发送请求=>use中的cb=>app.get/post等中的callback。该函数中的url不是全等的url 只要是以该url开头的请求都会被这个callback函数处理。当url参数不存在时,即app.use(callback),则是对所有请求都进行处理。

req

即request, 表示客户端发出的请求数据。大家都知道,浏览器发送的请求中包括三个部分,协议部分,包括所用协议和协议版本,请求头,请求体。而express中的req对象,是将这三个部分中的内容进行抽取和再包装。

常用的几个属性

req.params    是app.get/post等函数中url的参数部分,比如url是“/demo/:id/about”, id就可以通过params对象取到,方法是,req.params.id。

req.query    请求路由中的queryString,比如“/demo?name=tony&lang=EN”,则。req.query为{name:tony,lang:EN}

req.body    即http请求的请求体

req.originalUrl.      URL完整体,包括querystring?

req.baseUrl  需要进一步了解

req.path  需要进一步了解

req.protocol.  协议,小写字母,比如:“http”

res

返回给浏览器的对象

res.status()    设置响应的状态码

res.json(data)  将数据转为json格式返回给前端。

总之,express是围绕一次请求展开的,要好好了解express需要认真研究下http请求。

express文档

你可能感兴趣的:(express 初步印象)