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() 设置响应状态代码,并以字符串形式作为响应体的部分发送

你可能感兴趣的:(node-js,express,框架,中间件,node-js,next)