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

来源:互联网 发布:在淘宝搜什么有福利 编辑:程序博客网 时间:2024/06/05 00:10

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