Node.js 教程第八篇——Express 过滤器

过滤器

在进入某个路由前先经过一个过滤逻辑,这个称之为过滤器

简单使用

const express = require('express')
const app = express();

let filter = (req, res, next) => {
    if(req.params.name == 'admin' && req.params.pwd == 'admin'){
        next()
    } else {
        next('用户名密码不正确')
    }
    
}

app.get('/:name/:pwd', filter, (req, res) => {
    res.send('ok')
}).listen(88)

运行规则

  • 访问 http://localhost:88/admin/admin
  • 首先会进入过滤器方法 filter
  • next(),不带任选参数,表示会直接进入目标路由,执行路由逻辑
  • next(”),带参数,表示不会进入目标路由,并抛出错误。

全局使用–use

表示进入所有目标路由前都会先进入过滤器方法

简单使用

const express = require('express')
const app = express();

let filter = (req, res, next) => {
    if(req.params.name == 'admin' && req.params.pwd == 'admin'){
        next()
    } else {
        next('用户名密码不正确')
    }
    
}

app.use(filter);

app.get('/:name/:pwd', (req, res) => {
    res.send('ok')
}).listen(88)

访问所有静态资源文件

app.use(express.static(path.join(__dirname, '/')));

所有 post 使用 body-parser

var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended: false}));
    原文作者:DK_Lan
    原文地址: https://segmentfault.com/a/1190000014398941
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞