认识express模块
express 模块与 http 模块很相似,都可以创建服务器。不同之处在于,express 模块将更多 Web 开发服务功能封装起来,让 Web 应用开发更加便捷。本节将讲解使用 express 模块创建 Web 服务器,以及 express 模块中请求和响应对象的使用。
express模块的基本使用步骤
express 模块是第三方模块,使用之前,首先需要使用 npm 命令进行下载和安装,命令如下:
npm install express@4
|
|
express 模块安装完后就可以在 Node.js 程序中使用了,其基本使用步骤如下。
-
导入模块。
-
使用构造函数创建
Web服务器。 -
调用
listen()方法启动Web服务器。
例如,下面代码使用 express 模块创建并启动了一个服务器,服务器地址为 http://127.0.0.1:52273/ ,代码如下:
//导入express模块
var express = require('express');
//创建Web服务器
var app = express();
//启动Web服务器
app.listen(52273, function () {
console.log("服务器监听地址是 http://127.0.0.1:52273");
});
express模块中的响应对象
express 模块提供了 response 对象,用来完成服务器端响应操作,其常用方法及说明如表 14.1 所示。
根据 body 参数数据类型的不同,response 对象可以向客户端返回不同的数据,如表 14.2 所示。
【例14.1】实现向客户端返回数组信息。(实例位置:资源包\源码\14\01)
新建一个 .js 文件,首先导入 express 模块,并通过其构造函数创建一个 Web 服务器,然后使用 use() 方法创建一个数组,通过 response 对象的 send() 方法将其输出到客户端,最后使用 listen() 方法启动 Web 服务器。代码如下:
//引入express模块
var express = require('express');
//创建服务器
var app = express();
//监听请求与响应
app.use(function (request, response) {
//创建数组
var output = [];
for (var i = 0; i < 3; i++) {
output.push({
count: i,
name: 'name - ' + i
});
}
//向客户端返回数组类型的信息
response.send(output);
});
//启动服务器
app.listen(52273, function () {
console.log('服务器监听地址在 http://127.0.0.1:52273');
});
运行 .js 文件,在浏览器中输入 http://127.0.0.1:52273/ ,可以看到如图 14.1 所示的界面效果。从图 14.1 可以看出,向 response 对象的 send() 方法中传递了一个数组类型的参数,返回给客户端的是一个 JSON 数据。
express模块中的请求对象
express 模块提供了 request 对象,用来完成客户端请求操作,其常用属性、方法及说明如表 14.3 所示。
【例14.2】判断当前请求用户使用的浏览器类型。(实例位置:资源包\源码\14\02)
新建一个 .js 文件,导入 express 模块,使用 express() 方法创建一个 Web 服务器,然后在 use() 方法中使用 request.header('User-Agent') 方法获取请求客户端的 User-Agent 信息,通过判断该信息确定用户使用的浏览器类型。代码如下:
//导入express模块
var express = require('express');
//创建服务器
var app = express();
//监听请求和响应
app.use(function (request, response) {
//获取客户端的User-Agent
var agent = request.header('User-Agent');
//判断客户端浏览器的类型
if (agent.toLowerCase().match(/chrome/)) {
//发送响应信息
response.send('<h1>*_*欢迎使用谷歌浏览器</h1>');
} else {
//发送响应信息
response.send('<h1>^_^您使用的不是谷歌浏览器,<br>当然这并不影响浏览网页</h1>');
}
});
//启动服务器
app.listen(52273, function () {
console.log('服务器监听地址在 http://127.0.0.1:52273');
});
运行 .js 文件,分别打开谷歌浏览器和IE浏览器,在地址栏中输入 http://127.0.0.1:52273/ 后,可以看到如图 14.2 所示的界面效果。