Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

关于koa-router的redirect的问题

$
0
0

1.使用重定向功能代码如下

router.redirect("/", '/back/developer/getting-started');
router.all([/\/.*/],async ctx =>{
  await ctx.render('index')
})

我在访问 localhost:5757的时候不会产生重定向的作用 如果写成如下

router.redirect("/front/developer/getting-started", '/back/developer/getting-started');
router.all([/\/.*/],async ctx =>{
  await ctx.render('index')
})

我在front/developer/getting-started的时,刷新页面可以重定向到相应页面, 也就是说"/"不起作用 以下是全部代码部分

const Koa = require('koa')
const app = new Koa()
const debug = require('debug')('koa-weapp-demo')
const bodyParser = require('koa-bodyparser')
const koaStatic = require('koa-static')
const views = require('koa-views');
const proxy = require('koa-proxy');
const config = require('./config');

const job = require("./jobs/syncMd");
job.start();

app.use(koaStatic(__dirname + '/static'));

// 解析请求体
app.use(bodyParser())

// Must be used before any router is used
app.use(views(__dirname + '/views'));


const router = require('./router')

/*
 todo特别迷!重定向又不起作用了,在前端去重定向了
 */
// router.redirect("/", '/back/developer/getting-started');
router.all('/', ctx => {
  ctx.redirect('/back/developer/getting-started');
  ctx.status = 301;
});
router.all([/\/.*/],async ctx =>{
  await ctx.render('index')
})

// 引入路由分发

app.use(router.routes())
  .use(router.allowedMethods())

// 启动程序,监听端口
console.log("listening "+config.port);
app.listen(config.port, () => debug(`listening on port ${config.port}`))

多谢


Viewing all articles
Browse latest Browse all 14821

Trending Articles