Express:中间件的应用

  1. 路由保护,客户端在访问需要登录的页面时,可以先使用中间件判断用户登录状态,用户如果未登录,则拦截请求,直接响应,禁止用户进入需要登录的页面

代码示例:

// 引入express框架 返回的是一个方法
const express = require('express');
// 调用express创建网站服务器,创建变量来接收
const app = express();
app.use('/admin',(req,res,next) => {
    // 默认用户是没有登录的状态 先手动模拟一下
    let isLogin = false;
    // 如果用户登录了,则调用next方法继续向下执行
    if(isLogin){
        next();
        // 如果用户未登录,则提示无法访问
    }else {
        res.send('您还未登录,无法访问下一个页面');
    }
})
app.get('/admin',(req,res) => {
    res.send('您已经登录成功,可以访问下一个页面');
})
// 监听端口
app.listen(3000);
console.log('网站服务器启动成功');

执行结果如下:
如果代码中的let isLogin = true; 则会提示可以进入下个页面
在这里插入图片描述

  1. 网站维护公告,在所有路由的最上面定义接收所有请求的中间件,直接为客户端做出响应,网站正在维护中
    代码示例:
// 引入express框架 返回的是一个方法
const express = require('express');
// 调用express创建网站服务器,创建变量来接收
const app = express();
// 网站公告,没有使用next方法,表示执行完此中间件后就终止了,不会再向下执行
app.use((req,res) => {
    res.send('网站正在维护当中');
})
app.get('/index',(req,res) => {
    res.send('您已经登录首页');
})
// 监听端口
app.listen(3000);
console.log('网站服务器启动成功');

执行结果如下:
在这里插入图片描述

  1. 自定义404页面,当用户访问的请求路径不存在时,可以为不存在的请求路径定义一个专门的路由,通知用户当前访问的页面不存在
    代码示例:
// 引入express框架 返回一个方法
const express = require('express');
// 调用express创建网站服务器,创建app变量接收
const app = express();
app.get('/admin',(req,res) => {
    res.send('欢迎登录首页');
})
// 除了访问admin页面,访问其他页面都会执行该中间件
app.use((req,res) => {
    // 设置状态码为404,并响应内容,可以链式编程写
    res.status(404).send('当前页面不存在');
})
// 监听端口
app.listen(3000);
console.log('网站服务器启动成功');

执行结果如下:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值