【问题标题】:Redirecting with nested routes in koa with koa-router使用 koa-router 在 koa 中使用嵌套路由重定向
【发布时间】:2016-05-02 13:39:14
【问题描述】:

如何使用koa-router 使用嵌套路由进行重定向?

app.js:

var router = require('koa-router')();
var route1 = require('./routes/route1');
var route2 = require('./routes/route2');

router.use('/route1', route1);
router.use('/route2', route2);

app.use(router.routes());

route1.js:

var router = require('koa-router')();

router.all('/', function *() {
    router.redirect('/route2');
});

module.exports = router.routes();

route2.js:

var router = require('koa-router')();

router.all('/', function *() {
    this.body = "route2";
});

上述代码在运行时导航到/route1时会出现以下错误:

TypeError: Cannot read property '0' of undefined
  at Router.redirect (/Users/colevarner/fullpower/node/motionxlive-koa/node_modules/koa-router/lib/router.js:477:18)
  at Object.<anonymous> (/Users/colevarner/fullpower/node/motionxlive-koa/routes/support.js:54:12)
  at next (native)
  at onFulfilled (/Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:65:19)
  at /Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:54:5
  at Object.co (/Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:50:10)
  at Object.toPromise (/Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:118:63)
  at next (/Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:99:29)
  at onFulfilled (/Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:69:7)
  at /Users/colevarner/fullpower/node/motionxlive-koa/node_modules/co/index.js:54:5

【问题讨论】:

    标签: node.js redirect routes koa


    【解决方案1】:

    啊,我需要学习阅读。我将koa-router 文档解释为router.redirect() 旨在用于HTTP 动词函数中。

    正确用法如下:

    //either this
    
    router.redirect('/route1', '/route2');
    
    //or regular koa redirect
    
    router.all('/route1', function *() {
        this.redirect('/route2');
    });
    

    【讨论】:

      猜你喜欢
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多