NodeJs express框架

1 express框架

express框架是基于node.js的web应用开发框架。

1.1 express特点

  • 提供了方便简洁的路由定义方式。
  • 对夺取HTTP请求参数进行了简化处理。
  • 对模板引擎支持程度高,方便渲染动态HTML动画。
  • 提供了中间件机制有效控制HTTP请求。
  • 拥有大量第三方中间件对功能进行扩展。
//引入express框架	返回值其实是一个方法
//再创建服务器就不需要再引用http模块的createHttp方法了。
const express = require('express');
//创建网站服务器
const app = express();
app.get('/',(req,res)=>{
   
    /*
    send()响应客户端
    1、res.send()方法内部会检测响应内容的类型
    2、res.send()方法会自动设置http状态码
    3、res.send()方法会自动设置响应的内容类型及编码
    */
    res.send('hello express world');
})
app.get('/list',(req,res)=>{
   
    res.send({
   name:'张三',age:20});
});
//监听端口
app.listen(3000,()=>{
   console.log('服务器启动成功')})
  • res.send()方法用来响应客户端
    1. 方法内部会检测响应内容的类型。
    2. 方法会自动设置http状态码。
    3. 方法会自动设置响应的内容类型及编码。
  • res.status()方法为客户端设置响应状态码
    • res.status(404);

2 app.use中间件

2.1 概念

  • 中间件就是一些方法,可以接收客户端发送的请求、对请求作出响应,也可以将请求交给下一个中间件来处理。

  • 中间件主要由两部分组成:中间件方法和请求处理函数。

    • 中间件方法由express提供,负责拦截请求
    • 请求处理函数由开发人员提供,负责处理请求
    app.get('请求路径','处理函数');		//接收并处理get请求
    app.post('请求路径','处理函数');	//接收并处理post请求
    
    • 可以针对同一个请求设置多个中间件,对同一个请求进行多次处理。

      • 默认情况下,请求从上到下依次匹配中间件,一但匹配成功,就终止向下匹配。
      • 可以调用next()方法将请求的控制权传递给下一个中间件,直到遇到结束请求的中间件。
      app.get('/request',(req,res,next)=>{
             
          req.name = '张三'; 
      });
      app.get('/request',(req,res)=>{
             
          res.send(req.name);
      })
      

2.2 中间件用法

  • app.use()匹配所有的请求方式,可以直接传入请求处理函数,代表接受所有的请求。
  • app.use()第一个参数也可以传入请求地址,代表不论什么请求方式,只要是这个请求地址就接收这个请求。
  • app.use()必须放在前面。
app.use((req,res,next) => {
   
    console.log(req.url);
    next();
})
app.use('/admin',(req,res,next) => {
   
    console.log(req.url);
    next();
})
const express = require('express');
const app = express();
// app.use()必须放在前面
app.use((req,res,next)=>{
   
    console.log('请求app.use中间件');
    next();
});
//当客户端访问request请求时执行此中间件
app.use('/request',(req,res,next)=>{
   
    console.log('请求app.use中间件request路径');
    next();
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Silly夏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值