欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-19 13:25:51
一、Express简介1.Express是一个简洁而灵活的node.jsWeb应用框架,提供了一系列强大特性帮助你创建各种web应用,和丰富的http工具。2.使用Express可以快速搭建一个完整功能的网站。3.Express框架核心特性1.1 可以设置中间件来响应HTTP请求1.2 定义来路由表用于执行不同的HTTP请求动作1.3 可以通过向模版传递参数来动态渲染HTM......

一、Express简介

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

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

3.Express框架核心特性

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

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

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

二、安装Express

Node.js 第十七章- 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编码)的表单数据。

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

 

三、Express实例

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

 

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

 

执行结果为:

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

Node.js 第十七章- 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