Express请求处理管线 随笔
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Express请求处理管线 随笔相关的知识,希望对你有一定的参考价值。
const exp = require(‘express‘), app = exp() function utf8(req, res, next){ // res.set()设置响应头, // 还可以写成res.set({})批量设置响应头 // 在Content-Type响应头中设置编码可以解决乱码问题 res.set(‘Content-Type‘, ‘text/html; charset=utf-8‘) console.log(‘设置字符编码‘) // 将请求交给下一个函数处理 next() } function first(req, res, next){ console.log(‘我是第一个处理请求的函数‘) next() } function second(req, res, next){ console.log(‘我是第2个处理请求的函数‘) next() } function third(req, res, next){ console.log(‘我是第3个处理请求的函数‘) next() } app.get(‘/‘, third, first, second, (req, res) => { res.end(‘我是最后一个处理请求函数‘) }) // 中间部分还可以写成数组 // app.get(‘/‘, [utf8, first, second, third], (req, res) => { // res.end(‘我是最后一个处理请求函数‘) // }) app.get(‘/hi/:age‘, utf8, first, second, third, (req, res) => { var name = req.query.name var age = req.params.age // 获取客户端数据: // 1、获取url中的querystring(?后面的name=value,通过GET方法发送) // req.query.name // 2、获取请求体中的数据(通过POST方法发送,有多种编码方式) // req.body.name // 如果是 urlencoded 编码需要使用 body-parser 模块 // 如果是 multipart/form-data 需要使用 multer 模块 // 3、获取cookie中的数据 // req.cookies.name // 需要使用 cookie-parser 模块 // 4、获取请求头中的数据 // req.get(‘name‘) // 5、获取url路径Path中的数据 // req.params.age // 需要设置请求地址模式 ‘/hi/:age‘ // 将参数放入Path相对于将参数放入QueryString // 更加容易被人和搜索引擎识别 // 因此被称为友好URL,friendly url res.end(`你好${name}, ${age},很高兴认识你`) }) app.listen(3000, () => console.log(‘正在运行...‘))
[email protected] MINGW64 ~/Desktop/Express请求处理管线和友好URL
$ node server
正在运行...
我是第3个处理请求的函数
我是第一个处理请求的函数
我是第2个处理请求的函数
以上是关于Express请求处理管线 随笔的主要内容,如果未能解决你的问题,请参考以下文章
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段