路由的写法
router.verb('path-match', app.controller.action); 路径 控制器调用的方法 router.verb('router-name', 'path-match', app.controller.action); 路由名称 路径 控制器调用的方法 router.verb('path-match', middleware1, ..., middlewareN, app.controller.action); 路径 中间件 控制器调用的方法 路由名称 路径 中间件 控制器调用的方法 router.verb('router-name', 'path-match', middleware1, ..., middlewareN, app.controller.action);
路由重定向
1.内部重定向
module.exports = app => {
app.router.get('index', '/home/index', app.controller.home.index);
app.router.redirect('/', '/home/index', 302);
};
2.外部重定向
if (type === 'bing') {
ctx.redirect(`http://cn.bing.com/search?q=${q}`);
} else {
ctx.redirect(`https://www.google.co.kr/search?q=${q}`);
}
路由映射 即路由分组优化路由管理
// app/router.js
module.exports = app => {
require('./router/news')(app);
require('./router/admin')(app);
};
// app/router/news.js
module.exports = app => {
app.router.get('/news/list', app.controller.news.list);
app.router.get('/news/detail', app.controller.news.detail);
};
// app/router/admin.js
module.exports = app => {
app.router.get('/admin/user', app.controller.admin.user);
app.router.get('/admin/log', app.controller.admin.log);
};