【博学谷学习记录】超强总结,用心分享|Express基础介绍

一、什么是 Express ?

  Express 是一个基于 Node.js 封装的上层服务框架,它提供了更简洁的 API 更实用的新功能。

  它通过中间件和路由让程序的组织管理变的更加容易;它提供了丰富的 HTTP 工具;

二、Express 给 Node.js 带来了什么?

  从大的方面来说,Express 为 Node.js 的 HTTP 模块带来了两大特性:

  通过提供大量易用接口,简化了程序的复杂度。例如上面放松 JPEG 图片问题,Express 可以将代码压缩带一行。

  它允许对请求处理函数进行拆分,将其重构为很多负责特定请求的小型请求处理函数。这便于模块化和后期维护。


三、安装express及基本使用

$ npm install express –save

$ mkdir express-HelloWorld-demo

进入该目录,然后初始化

$ npm init

  会发现项目目录里边多了一个package文件,里边定义了项目的名称、描述、版本等,就可以安装express了。

$ npm install –save express

  执行以上命名后,在项目的根目录下,新建一个启动文件,假定叫做app.js。

let express = require('express');

let app = express();

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

res.send('Hello World!');

});

app.listen(3000, function () {

console.log('Example app listening on port 3000!');

});

然后,运行脚本

$ node app.js

四、request 和 response 对象的具体介绍:(查阅资料)

1、Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性。常见属性有:

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

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

req.body / req.cookies:获得「请求主体」/ Cookies

req.fresh / req.stale:判断请求是否还「新鲜」

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

req.originalUrl:获取原始请求URL

req.params:获取路由的parameters

req.path:获取请求路径

req.protocol:获取协议类型

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

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

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

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

res.app:同req.app一样

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

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

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

opition: domain / expires / httpOnly / maxAge / path / secure / signed

res.clearCookie():清除Cookie

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

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

res.json():传送JSON响应

res.jsonp():传送JSONP响应

res.send():传送HTTP响应

五、中间件

    原生的 Node.js 使用一个 request 处理函数应对所有请求并做出响应。

    中间件可以处理各种任务,从记录请求到发送静态文件到设置 HTTP 头部。开发者可以通过为 Express 开发中间件来拓展其功能。

1、静态文件

    Express 提供了内置的中间件 express.static 来设置静态文件如:图片, CSS, JavaScript 等。可以使用 express.static 中间件来设置静态文件路径。

六、路由

    可以为请求处理提供多个回调函数,其行为类似中间件。唯一的区别是这些回调函数有可能调用 next('route') 方法而略过其他路由回调函数。

  与中间价类似,路由对请求处理函数进行了拆分。不同的是,路由根据请求的 URL 和 HTTP 方法来决定处理方式的。当用户使用 GET 去请求主页时,Express 会返回对应的主页内容。路由的处理也是通过处理函数进行定义的。而不同的行为会调用不同的处理函数。

1、express.router()

第一步引入express 并且创建express实例

  var express = require('express')

  var router = express.Router();

第二步使用express路由方法: router.METHOD(PATH, HANDLER)

Express 中的中间件和路由相辅相成。

你可能感兴趣的:(【博学谷学习记录】超强总结,用心分享|Express基础介绍)