当前位置: 移动技术网 > IT编程>开发语言>JavaScript > Node.js 第十七章- Express框架(上)

Node.js 第十七章- Express框架(上)

2020年07月11日  | 移动技术网IT编程  | 我要评论

一、Express简介

1.Express是一个简洁而灵活的node.jsWeb应用框架,提供了一系列强大特性帮助你创建各种web应用,和丰富的http工具。

2.使用Express可以快速搭建一个完整功能的网站。

3.Express框架核心特性

1.1 可以设置中间件来响应HTTP请求

1.2 定义来路由表用于执行不同的HTTP请求动作

1.3 可以通过向模版传递参数来动态渲染HTML页面

二、安装Express

以上命令会将Express框架安装在当前目录的node_modules目录中,node_modules目录下会自动创建express目录。

以下几个重要的模块是需要与express框架一起安装的:

1.  body-parser - node.js中间件,用于处理JSON,Raw,Text和URL编码的数据。

2. cookie-parser - 这就是一个解析cookie的工具。通过req.cookies可以去到传过来的cookie,并把他们转成对象。

3. multer - node.js中间件,用于处理enctype="multipart/form-data" (设置表单的MIME编码)的表单数据。

 

三、Express实例

 

 

 

执行结果为:

 

 

四、请求和响应

express应用使用回调函数的参数,request和response对象来处理请求和响应的数据。

 

app.get('/', function(req, res){

// --

}) 

request 和response对象的具体介绍

1. Request对象 - request对象表示HTTP请求,包含来请求查询字符串,参数,内容,HTTP头部等属性。

常见的属性有:

1.1 req.app : 当callback为外部文件时,用req.app访问express的实例

1.2 req.baseUrl: 获取路由当前安装的URL路径

1.3 req.body/ req.cookies: 获得【请求主体】/Cookies

1.4 req.fresh/ req.stale: 判断请求时否还【新鲜】

1.5 req.hostname/ req.ip : 获取主机名和IP地址

1.6 req.originalUrl: 获取原始请求URL

1.7 req.params: 获取路由的parameters

1.8 req.path: 获取请求路径

1.9 req.protocal: 获取协议类型

1.10 req.query : 获取URL的查询参数串

1.11 req.route : 获取当前匹配的路由

1.12 req.subdomains: 获取子域名

1.13 req.accepts(): 检查可接收的请求的文档类型

1.14 req.acceptsChasets/ req.acceptsEncodings/ req.acceptsLanguages: 返回指定字符集的第一个可接受字符编码

1.15 req.get() : 获取指定的HTTP请求头

1.16 req.is() : 判断请求头 Content-Type的MIME类型

2.Response对象 - response对象表示HTTP响应,即在接收到请求时向客户端发送的HTTP响应数据。常见属性有:

2.1 res.app : 同req.app 一样

2.2 res.append() : 追加指定的HTTP头

2.3 res.set() 在res.append() 后将重置之前设置的头

2.4 res.cookie(name, value[,option]): 设置Cookie

2.5 option: domain/expires/ httpOnly/maxAge/path/secure/ signed

2.6 res.clearCookie(): 清除Cookie

2.7 res.download(): 传送指定路径的文件

2.8 res.get() : 返回指定的HTTP头

2.9 res.json() :   传送JSON响应

2.10 res.jsonp() : 传送JSONP响应

2.11 res.location(): 只设置响应的Location HTTP头,不设置状态码或者close response

2.12 res.redirect() : 设置响应的Location HTTP头,并且设置状态码302

2.13 res.render(view, [locals],callback): 渲染一个view,同时向callback传递渲染后的字符串,如果在渲染过程中有错误发生next(err)将会被自动调用。callback将会被传入一个可能发生的错误以及渲染后的页面,这样就不会自动输出了。

2.14 res.send(): 传送HTTP响应

2.15 res.sendFile(path[, optins][, fn]): 传送指定路径的文件- 会自动根据文件extension设定Content-Type

2.16 res.set(): 设置HTTP头,传入object可以一次设置多个头

2.17 res.status(): 设置HTTP状态码

2.18 res.type() : 设置Content-Type的MIME类型

 

本文地址:https://blog.csdn.net/u014085502/article/details/85783306

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网