您的位置:首页 > Web前端 > Node.js

Express---node.js-express框架中的主要方法,使用中间件关联 多个路由

2017-07-18 10:55 1086 查看

Express中的主要路由

express主要路由 方法:

get,post,all,use等


当用get请求时候:

let app=express();
app.get(path,(req,res)=>{
//执行语句
})


当用post请求时候:

let app=express();
app.post(path,(req,res)=>{
//执行语句
})


若想处理该网址任何请求的时候:

let app=express();
app.all(path,(req,res)=>{
//执行语句
})


●请求的网址www不分大小写;

●GET参数?、#被忽略,路由到/a,访问/a?id=2#fs也能被处理到;

●不同的路由method,对页面的使用也不同;但是同样method下,相同路由则只会访问第一个,而中间件则可以解决;

访问路由参数

在定义路由时候,路径可以使用正则表达式,位置不分用圆括号分组,然后,可以用req.params[0]、[1]得到,也可以通过冒号变量获取。

类数组对象

let app=express();
app.all(/^\/books\/([\d]{6})/,(req,res)=>{
res.send('查询的书籍编号为:'+req.params[0])   ;
//req.params[0]表示([\d]{6})这个未知部分
})


冒号

app.get('/book/:num',(req,res)=>{
let num=req.params['num'];
if(/^[\d]{6}$/.test(num)){
res.send('查询的书籍编号为:'+num)
}else{
res.send('格式错误')
}
})


express中的中间件

中间件是用来匹配多个路由的方法

next参数

app.get('/book',(req,res,next)=>{
console.log('1');
next();
//next调用之后,会继续向下匹配路由
});
app.get('/book',(req,res)=>{
console.log('2');

});

//使用next之后,便匹配了两个路由,打印了1和2


app.use方法

app.use('/book',(req,res)=>{
res.end('hello ')
})

//app.use()也是一个中间件,与get、post不同的是,它匹配的网址是不精确的,/book/a、/book/aaa/bbb这些路由都能匹配到

//如果路由为根目录/,则可以忽略不写,参数只有一个回调函数


路由中的主要响应方法

方法说明
res.download()提示下载文件
res.end()终结响应处理流程
res.json()发送一个json文件
res.jsonp()发送一支持jsonp的json格式响应
res.redirect()提示重定向
res.render()渲染视图模板
res.send()智能选择发送数据的MIME类型病终结
res.sendFile()八位字节发送文件
res.sendStatus()设置响应状态代码,并以字符串形式作为响应体的部分发送
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息