关于koa-router的redirect的问题
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}`))
多谢
1 回复
看你贴上来的代码和用法都没啥问题。 建议看看是不是浏览器缓存影响了你的判断,301会被浏览器缓存,建议你用curl之类的测试