学习记录---05nodejs---Express2

Express 请求处理


构建模块化路由

引用express模块
创建路由对象
express.Router();//返回的就是路由对象
将路由请求路径进行匹配
app.use('/home',home);
在home路由下继续挂载路由

	home.get('/index',(req,res)=>{
 	 /home/index
	  res.send
	})

对路由进行分组 创建一个路由对象 在创建好的路由对象中挂载路由


get请求参数

使用req.query即可获取GET参数 会将GET参数转换为对象


Post参数的获取

post参数是通过请求来的,想要第三方模块处理请求,就要将所有请求拦截下来,用bodyParser处理请求

Express中接收post请求参数需要第三方包 body-parser
引入body-parser模块
const bodyParser = require('body-parser');
配置body-parser模块
使用的是里面的urlencoded方法
app.use(bodyParser.urlencoded({extended:false}))

extended:false 在函数内部会用urlquery对请求参数进行格式处理
extended:true 会用一个第三方模块qs模块对请求参数的格式进行处理

此方法的执行过程
检测post请求中是否包含请求参数,接收请求参数,将请求参数转换为对象类型,并在req中添加一个body属性,把请求参数传给body


路由参数

app.get('/find/:id',(req,res)=>{

});

localhost:3000/find/123
'/find/:id'这样写了以后,一定要给参数,否则会报错

客户端向服务器端get传递参数的另一种形式

app.get('/index/:name/:age',(req,res)=>{
  consle.log(req.params)
})

例如index/zhangsan/20
req.params()返回的是一个对象
对象中存储了{name=zhangsan,age = 20}


静态资源处理

express.sratic(绝对路径)
app.use--->拦截所有请求


express模板引擎

art-template模板引擎的基础上封装了express-art-template模板赢钱的基础上封装了express-art-template

使用 npm install art-template express-art-template

app.engine('art',require('express-art-template'))
app.engine(模板的后缀,要使用的模板引擎);

设置模板存放位置
app.set('views',path.join(__dirname,'views'));
app.set(固定的views,绝对路径 一般都是在根目录下的views下 )
渲染模板是不写后缀,默认拼接art后缀

app.set('view engine','art')
app.get('/',(req,res)=>{
  渲染模板
  res.render('index'[,传入模板的数据  对象类型]);//只需要传递模板的名称即可,内部会帮我们拼接模板的后缀、所在位置 会将拼接好的直接响应到页面中
});

app.locals对象

将变量设置到app.locals对象下面,这个数据在所有的模板中都可以获取到

app.locals.users=[{
  name:'zhangsan',
  age:20
},{
  name:'lisi'
}]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值