node.js自学教程(八)_路由控制

一、工作原理

1.当通过浏览器访问app.js建立的服务器时,看的一个简单的页面,实际上它已完成了很多工作;

2.当访问http://localhost:3000,浏览器会向服务器发送请求,包括请求的方法,路径,http协议版本和请求头信息。app会解析请求的路径,调用相应的逻辑,app.js中有app.get('/',router.index)通过res.render('index',{title:'pcat'})调用视图模版index,传递title变量,最终视力生成HTML页面,返回给浏览器。

浏览器接收到内容后,通过分析需要获取css文件,因此会再次向服务器发起请求,app.js没有指派到css的路由规则,但app通过app.use(express.static(__dimame+'/public'))配置了静态文件服务器,因此会定向到app.js所在目录下的public文件中的css文件。

 

二、创建路由规则(固定路径)

1.服务器响应头返回404 Not found错误是因为没有指定的路由规则,而且在public目录也没有找到相应文件

2.创建路由规则:

//参数一:请求路径;参数二:回调函数

app.get('/pact',routers.pcat)

//在index中添加:

export.pcat=function(req,res){

res.send('abc');

}

三、路由匹配(动态路径)

1.带参数

app.get('/user/:username'),function(req,res){

res.send('user:'+req.params.username);

});

2.正则

四、REST风格的路由规则

1.http协议定义了一下8个标准方法:

1).get 获取

2).post 新增

3).delete 删除

4).put 更新

5).head 响应头

6).trace 回显

7).connect 连接改为代理

8).options 返回服务器支持的http请求方法

2.幂等:重复请求多次与一次效果是一样的,如获取更新和删除等,新增不是。

3.不同的路由绑定函数不用相互回调

1.GET app.get(path,callback)

2.POST app.post(path,callback)

3.PUT app.put(path,callback)

4.DELETE app.delete(path,callback)

5.ALL app.all(path,callback)

 

五、控制权转移

app.all('/test/:user',function(req,res,next){

res.send("all:abc");

next();

});

app.get('/test/:user',function(req,res){

res.send("get:abc");

})

因为只会返回一次,所以next()函数将控制权交给后面的规则。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值