一、路由的几种写法
- 一般写法
router.get('/news', controller.news.index);
- 带有中间件的写法
const auth = app.middleware.auth();
router.get('/news', auth,controller.news.index);
- 包含名字的路由写法
相当于给路由起一个名字,直接访问/news还是正常的。
router.get('新闻','/news', controller.news.index);
二、路由重定向
外部重定向
在控制器中写出下面的代码。
this.ctx.redirect('/news')
内部重定向
访问/news跳转到/shop页面。
router.redirect('/news','/shop',302)
三、路由分组(路由映射)
之所以要进行路由分组是因为,如果一个项目中包含太多路由,会给问题的排查带来很大的困难,因此可以采用将同一类的路由归为一个文件,然后对外暴露,这种方式就是路由分组。
- 在app下新建一个routers文件夹,然后在该文件夹下建立类似下面的文件。
- admin.js
module.exports = app => {
const { router, controller } = app;
router.get('/admin/user',controller.admin.user.index)
};
- 在routers.js文件中通过下面的方式进行调用。
require('./routers/admin')(app);