2、requestreq对象表示一个http请求,具有请求查询字符串、参数、文本、http头等属性app.get('/user/:id',(req,res)=>{res.send('用户'+req.params.id);});2.1对应用实例的引用req.app()app持有许多使用中间件表达应用实例的引用//one.jsmodule.exports=function(req,res){res.send('视图目录是'+req.app.get('views'))}//app.jsapp.get('/one',require('./one.js'));2.2路由实例挂载的URL路径req.baseUrlletgreet=express.Router();greet.get('/one',(req,res)=>{console.log(req.baseUrl);///greetres.send('hello')});app.use('/打招呼',打招呼);2.3请求体和cookiereq.body和req.cookies包含请求文本中提交的数据的键值对,默认情况下,它是未定义的,当你使用body-parser和multerconstexpress等body解析中间件时会填充=要求('快递');constbodyParser=require('body-parser');constcookieParser=require('cookie-parser')letapp=express();app.use(bodyParser.json());//解析application/jsonapp.use(bodyParser.urlencoded({extended:true}));//解析application/x-www-form-urlencodedapp.use(cookieParser())app.post('/',(req,res)=>{console.log('Cookies:',req.cookies);console.log('签名的Cookies:',req.signedCookies);console.log('req.body',req.body);res.json(req.body);});app.post('/',(req,res)=>{console.log(req.body);res.json(req.body);});app.listen(3000);2.4主机信息fresh,hostname,ip,ips,protocolconstexpress=require('express');constbodyParser=require('body-parser');constcookieParser=require('cookie-parser')letapp=express();app.use(bodyParser.json());//解析应用/jsonapp.use(bodyParser.urlencoded({extended:true}));//解析应用/x-www-form-urlencodedapp.use(cookieParser())app.get('/files/download/:user',(req,res)=>{console.log('req.fresh:',req.fresh);console.log('req.stale:',req.stale);console.log('req.hostname:',req.hostname);console.log('req.ip:',req.ip);console.log('req.ips:',req.ips);console.log('req.protocol:',req.protocol);console.log('req.url:',req.url);console.log('req.originalUrl:',req.originalUrl);console.log('req.xhr:',req.xhr);console.log('req.params:',req.params);console.log('req.path:',req.path);res.send(req.body);});app.listen(3000);/***请求url:http://localhost:1111/files/download/markreq.fresh:falsereq.stale:truereq.hostname:localhostreq.ip:127.0.0.1req.ips:[]req.protocol:httpreq.url:/files/download/mark//req.url是javascript的http模块的属性,不是Express的req.originalUrl:/files/下载/markreq.subdomains:[]req.xhr:falsereq.params:{user:'mark'}req.path:/files/download/mark***/2.5请请求路径由req.routeapp.get('/user/:id?',(req,res)=>{console.log(req.route);res.send('sendgetmessageroute')});/***req.route:Route{path:'/files/download/:user',stack:[Layer{handle:[Function],name:'
