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

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()也是一个中间件,与getpost不同的是,它匹配的网址是不精确的,/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()设置响应状态代码,并以字符串形式作为响应体的部分发送
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值