zoukankan      html  css  js  c++  java
  • egg.js 学习之 中间件使用

    1.在框架和插件中使用中间件

    编写中间件

    我们先来通过编写一个简单的中间件,来看看中间件的写法。

    // app/middleware/middlewareOne.js

    // app/middleware/middlewareOne.js
    module.exports = (options, app) => {
      return async function middlewarreone(ctx, next) {
        const url = ctx.request.url;
        await next();
        ctx.body = `获取到的ip是:${url}`;
      }
    };

      

    配置

    // config/config.default.js
    exports.middleware = ['middlewareOne']; // 数组的顺序为中间件执行的顺序

    请求会执行 : 获取到的ip是:/data

    router 中使用中间件

    以上方式配置的中间件是全局的,会处理每一次请求。 如果你只想针对单个路由生效,可以直接在 app/router.js 中实例化和挂载,如下:

    'use strict';
    
    /**
     * @param {Egg.Application} app - egg application
     */
    module.exports = app => {
      const {
        router,
        controller
      } = app;
      const isUrl = app.middleware.middlewarreone({params: '888',});
      router.get('/', controller.home.index);
      router.post('/login', controller.home.login);
      router.post('/data',isUrl, controller.data.index);
      router.post('/upload', controller.upload.upload);
    
      router.get('/search', controller.data.search);
    };
    

      发送请求 同样会执行 结果:/data

    
    



  • 相关阅读:
    Java 工程名上有个红色叹号
    TestNG 入门教程
    字典序问题
    统计数字问题
    sniffer 简介
    【转】IE浏览器快捷键大全
    批处理 延时不完全总结【转】
    批处理(Batch)---批处理脚本。
    windows系统命令行
    计算机网络
  • 原文地址:https://www.cnblogs.com/qq735675958/p/10193313.html
Copyright © 2011-2022 走看看