首页 > 其他分享 >web服务器12 中间件函数

web服务器12 中间件函数

时间:2022-11-01 15:56:21浏览次数:53  
标签:web 12 req res app express 中间件 next

// 1,导入express
const express = require('express')
const app = express()
// 3定义一个中间件
// const mw = (req,res,next)=>{
//     console.log('中间件');
//     next()
// }
// // 4,全局生效的中间件
// app.use(mw)
// 6,全局中间件简化
app.use((req,res,next)=>{
    console.log('中间件');
    next()
})
// 5,定义接口
app.get('/',(req,res)=>{
    res.send('GET success')
    console.log('/');
})

app.get('/user',(req,res)=>{
    res.send('GET success')
    console.log('/user');
})

// 2,启动服务器
app.listen(8080,()=>{
    console.log('express serve running at http://127.0.0.1')
})
// 多个中间件中间,是可以共享一份req和res的,在上游的中间件中可以自定义一些req和res方法,供下游的中间件使用

  中间件的作用

// 1,导入express
const express = require('express')
const app = express()
// 2,全局中间件简化
app.use((req, res, next) => {
    // 5,获取到服务器的时间
    const time = Date.now()
    // 6,为req挂载时间
    req.starTime = time
    next()
})
// 3,定义接口
app.get('/', (req, res) => {
    res.send('GET success' + req.starTime)
})

app.get('/user', (req, res) => {
    res.send('GET user'+ req.starTime)
})

// 4,启动服务器
app.listen(8080, () => {
    console.log('express serve running at http://127.0.0.1')
})

  定义多个中间件

// 1,导入express
const express = require('express')
const app = express()
// 2,定义第一个全局中间件
app.use((req, res, next) => {
    console.log('定义第一个全局中间件');
    next()
})
// 3,定义第二个全局中间件
app.use((req, res, next) => {
    console.log('定义第二个全局中间件');
    next()
})
// 5,定义接口
app.get('/user', (req, res) => {
    res.send('GET user')
})

// 4,启动服务器
app.listen(8080, () => {
    console.log('express serve running at http://127.0.0.1')
})

  定义局部生效的中间件

// 1,导入express
const express = require('express')
const app = express()
// 2,定义局部生效的中间件
const mw1 = (req,res,next)=>{
    console.log('调用局部生效的中间件');
    next()
}
// 5,创建路由
// mw1只会在user中局部生效
app.get('/user', mw1,(req, res) => {
    res.send('GET user')
})
app.get('/', (req, res) => {
    res.send('GET success')
})

// 4,启动服务器
app.listen(8080, () => {
    console.log('express serve running at http://127.0.0.1')
})

  定义多个局部生效的中间件

// 1,导入express
const express = require('express')
const app = express()
// 2,定义局部生效的中间件
const mw1 = (req,res,next)=>{
    console.log('调用局部生效的中间件');
    next()
}
const mw2 = (req,res,next)=>{
    console.log('调用局部生效的中间件2');
    next()
}
// 5,创建路由
// mw1只会在user中局部生效
app.get('/user', mw1,mw2,(req, res) => {
    res.send('GET user')
})
app.get('/', (req, res) => {
    res.send('GET success')
})

// 4,启动服务器
app.listen(8080, () => {
    console.log('express serve running at http://127.0.0.1')
})

  

// 1,导入express
const express = require('express')
const app = express()
// 2,定义局部生效的中间件
const mw1 = (req,res,next)=>{
    console.log('调用局部生效的中间件');
    next()
}
const mw2 = (req,res,next)=>{
    console.log('调用局部生效的中间件2');
    next()
}
const mw3 = (req,res,next)=>{
    console.log('调用局部生效的中间件2');
    next()
}
// 5,创建路由
// mw1只会在user中局部生效
app.get('/user', [mw1,mw2,mw3],(req, res) => {
    res.send('GET user')
})
app.get('/', (req, res) => {
    res.send('GET success')
})

// 4,启动服务器
app.listen(8080, () => {
    console.log('express serve running at http://127.0.0.1')
})

  

标签:web,12,req,res,app,express,中间件,next
From: https://www.cnblogs.com/wencaiguagua/p/16847977.html

相关文章

  • 基于51单片机的电压检测系统设计(#0412)
    电压、电流、功率是表征电信号能量大小的三个基本参量。在电子电路中,只要测量出其中一个参量就可以根据电路的阻抗求出其它二个参量。考虑到测量的方便性、安全性、准确性等......
  • 122. 买卖股票的最佳时机II
    给你一个整数数组prices,其中 prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有一股股票。你也可以先......
  • JAVAWeb --JSP基础语法
    准备工作,导入一些依赖<dependencies><!--Servlet的依赖--><dependency><groupId>javax.servlet</groupId><artifactId>s......
  • 抗干扰LED数码管显示驱动控制电路(IC)-VK1S68C资料,SSOP24小体积 13×4/12×5/11×6/10
    产品品牌:永嘉微电/VINKA产品型号:VK1S68C封装形式:SSOP24概述:VK1S68C是一种带键盘扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有3线串行接口、数据锁存器、LED......
  • 阿里云OSS前端web直传 .net C# .net core
    背景阿里云oss使用web直接上传的有两种方式1.是通过阿里云自己的jssdk上传,但是这种上传方式有个比较麻烦的地方,获取授权的时候配置会比较麻烦2.通过form表单提交......
  • node04_05时钟web服务器
    1.创建clock文件夹,里面有index.hrml和对应的css文件  2.编写node代码//1.1导入http模块consthttp=require('http')//1.2导入fs模块constfs=require('fs')......
  • STC32G12K128-CAN
    第二部分,因为需要和其他部件通过CAN进行交互,此处记录一下STC32-CAN驱动部分,毕竟是国产芯片,数据手册看起来非常方便。希望咱们国产芯片越做越好哈此处参考了芯片手册的例子......
  • AcWing 1221 四平方和
    \(AcWing\)\(1221\).四平方和+自定义排序(重载<)+二分一、题目大意四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多\(4\)如果把\(0\)包括进去,就正好可以表......
  • k3s+traefik+cert-manager+letsencrypt实现web服务全https
    1.简介随着HTTPS不断普及,越来越多的网站都在从HTTP升级到HTTPS,使用HTTPS就需要向权威机构申请证书,需要付出一定的成本,如果需求数量多,也是一笔不小的开支。cert-mana......
  • drools_12_lhs
    LHS(lefthandside)部分Drools作为规则引擎,最重要的功能就是完成patternmatch,即按照LHS对工作内存的fact进行匹配,老版Drools使用的匹配算法是RETE(读音[reete......