美文网首页
eggJs 中间件

eggJs 中间件

作者: 橙小光 | 来源:发表于2020-09-14 17:17 被阅读0次

    中间件可以做面向切面编程

    一、定义中间件

    在egg中定义中间件,app/middleware目录下,每一个js就是一个中间件

     //1、在js中,暴露一个方法
    module.exports = (options, app) => {
        //2、返回一个异步的函数
        return async function login(ctx, next) {
        console.log('hello middleware');
        await next();
        }
    }
    
    二、配置中间件

    在config/config.default.js

    //配置中间件,注意login需要和app/middleware下的login.js对应
      config.middleware = [
        'login'
      ];
     
    //如果你的中间件需要传递参数,可以通过config.login来进行参数的传递,在中间件件可以通过options接收传递过来的参数
      config.login = {
        data: '给中间件传递的参数!'
      }
    

    config.middleware表示这个中间件使用了 app 这个参数(全局参数)
    config.login 表示这个参数使用了 options 这个参数 (配置参数)

    三、使用中间件

    在router.js

    const auth = app.middleware.auth();
    router.get('/user/add', auth, controller.user.add);
    

    相关文章

      网友评论

          本文标题:eggJs 中间件

          本文链接:https://www.haomeiwen.com/subject/aiizektx.html