<em>node.js(02)</em>

服务器响应文件

//__dirname 获取文件的绝对路径
res.sendFile(__dirname+'文件');

重定向—redirect

//重定向一个文件时 如果是静态地址的时候需要先让这个文件响应绝对路径到浏览器
server.get('/login',(req,res)=>{
	res.sendFile(__dirname+'login.html');
});
//然后在设置重定向
server.get('/',(req,res)=>{res.redirect('/login')});

请求的对象—req
req.method 获取请求的方式
req.url 获取请求的url
req.headers 获取请求的头信息
req.query 获取请求时,以字符串的方式传递数据,返回对象
req.params 获取漏油传递的信息,返回对象
1.post和get请求
get 请求以查询字符串的形式传递数据,服务器使用req.jquery获取数据,结果是对象
post 请求时通过表单提交的方式提交数据,服务器端通过事件的形式来获取数据(后期有简单的方法)

req.on('data',(buf)=>{
//获取的结果是buffer格式数据,转换成普通字符串之后变成查询字符串,需要使用到查询字符串(querystring)模块解析为对象
}

2.使用路由传递数据—路由传参

//设置路由中接收
server.get('/datail/:lid',(req,res)=>{
//:lid  设置数据的名称
req.params //获取路由传递的数据 格式为对象
})

浏览器传递数据
http://127.0.0.1:3000/datail/5
5就是传递的数据,使用名称为lid接收

3.路由器
路由在使用过程中,不同的 模块可能出现相同的url,把同一个模块下的所有路由挂载到特定的前缀
例如:商品下的路由挂载到product,访问形式/product/list,用户模块下的路由挂载到user,访问形式/user/list
路由器就是自定义模块(js文件),把同一个模块下的路由放在一起

//创建路由器 首先引入express
const express=require('express');
var router=express.Router();
//往路由器中添加路由
router.get('/list',(req,res)=>{});
//最后导出路由器
module.exports=router;

在web服务器下使用路由器

//先引入express
const express=require('express');
//在引入路由器模块(这里面的商品路由器文件是和创建服务器在同一级目录下)
const productrouter=('./product.js');
//将路由器挂载到product下面
server.use('/product',productrouter);

4.中间件
中间件的作用为主要的业务逻辑所服务
分为应用级中间件、路由级中间件、内置中间件、第三方中间件、错误级中间件
(1)应用级中间件
每一个中间件就是调用一个函数,需要配合其他中间件或者路由使用

//拦截所有的路由 next参数表示执行下一个中间件或者路由
server.use((reg,res,next)=>{});
//拦截指定的路由 以/reg为例
server.use('/reg',(reg,res,next)=>{});

(2)内置中间件

//将静态文件托管到某一个目录下面,如果	浏览器请求静态资源,则自动到这个目录下查找
server.use(express,static('目录'))

总结:今天学习了重定向、请求的方法(get、post)、路由传参、路由器以及中间件等内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值