KoaJS 路由

  • 定义和使用

    JavaScript ES6 Web 框架以不同的方式提供诸如 HTML 页面、脚本、图像等资源。Koa 不支持核心模块中的路由。我们需要使用 Koa 路由器模块在 Koa 中轻松创建路由。使用以下命令安装此模块。
    npm install --save koa-router
    
  • 示例

    现在我们已经安装了 Koa 路由器,让我们看看一个简单的 GET route 示例。
    var koa = require('koa');
    var router = require('koa-router'); 
    var app = new koa();
    
    var _router = router();   //实例化路由器
    _router.get('/hello', async (ctx)=>{   //定义路由
        ctx.body="Hello world!";
    });
    
    app.use(_router.routes());  //使用路由器定义的路由
    
    app.listen(3001);
    
    如果我们运行应用程序并转到本地主机:3001/hello,服务器在路由 "/hello" 接收 get 请求。我们的 Koa 应用程序执行附加到该路由的回调函数并发送 "Hello World!" 作为回应。
    router-get
    我们也可以在同一路线上有多种不同的方法。例如,
    var koa = require('koa');
    var router = require('koa-router'); 
    var app = new koa();
    
    var _router = router();   //实例化路由器
    _router.get('/hello', async (ctx)=>{   //定义路由
        ctx.body="Hello world!";
    });
    
    _router.post('/hello', async (ctx)=>{   //定义路由
        ctx.body="你刚刚在'/hello'调用了post方法";
    });
    
    app.use(_router.routes());  //使用路由器定义的路由
    
    app.listen(3001);
    
    要测试此请求,请打开终端并使用cURL执行以下请求
    curl -X POST "http://localhost:3001/hello"
    
    express 提供了一个特殊的方法 all,用同一个函数处理特定路由上的所有类型的 http 方法。要使用此方法,请尝试以下操作-
    _router.all('/test', async (ctx)=>{   //定义路由
       ctx.body="所有的HTTP调用(不管动词是什么)都将得到这个响应";
    });