路由"/>
koa动态添加路由
1.引入koa和router
const Koa = require('koa')
const Router = require('koa-router')const app = new Koa()
const router = new Router()app.use(router.toutes())app.listen(APP_PORT,()=>{console.log('服务器已经启动:',`http://127.0.0.1:${APP_PORT}`);
})
但是在开发时我们会根据模块来才分代码,减少代码的耦合性,例如路由就会被拆分为多个模块,因此路由的注册也会有很多,如下所示
const errHandler = require('../app/errHandler')
const userRouter = require('../router/user.route')
const goodsRouter = require('../router/goods.route')
const app = new Koa()
// 注册中间件
app.use(koaBody())
app
.use(userRouter.routes())
.use(userRouter.allowedMethods())
.use(goodsRouter.routes())
.use(goodsRouter.allowedMethods())
因此 在这种情况下我们需要动态的去添加路由,在所有路由文件夹下新建index.js文件
const fs = require('fs')const Router = require('koa-router')
const router = new Router()fs.readdirSync(__dirname).forEach(file=>{if(file !== 'index.js'){let r = require('./'+file)router.use(r.routes())}
})module.exports = router
然后在注册路由的文件中引入该文件,并且注册--实现了动态添加路由
const router = require('../router')const app = new Koa()
// 注册中间件
app.use(koaBody())
app.use(router.routes()).use(router.allowedMethods())
更多推荐
koa动态添加路由
发布评论