1、安装koa-router 与 koa-compose
cnpm install koa-router
cnpm install koa-compose
2、根目录创建目录routes,下面新建index.js A.js B.js C.js home.js
A.js:
const Router = require('koa-router')
const router = new Router()
router.prefix('/A')
router.get('*',(ctx,next)=>{
ctx.body = "hello A module router"
})
module.exports = router
B:js
const Router = require('koa-router')
const router = new Router()
router.prefix('/B')
router.get('*',(ctx,next)=>{
ctx.body = "hello B module router"
})
module.exports = router
C.js
const Router = require('koa-router')
const router = new Router()
router.prefix('/C')
router.get('*',(ctx,next)=>{
ctx.body = "hello C module router"
})
module.exports = router
home.js
const Router = require('koa-router')
const router = new Router()
router.get('/home',(ctx,next)=>{
ctx.body = "welcome home"
})
module.exports = router
index.js
const compose = require('koa-compose')
const glob = require('glob')
const { resolve } = require('path')
registerRouter = () => {
let routers = [];
glob.sync(resolve(__dirname, './', '**/*.js'))
.filter(value => (value.indexOf('index.js') === -1))
.map(router => {
routers.push(require(router).routes())
routers.push(require(router).allowedMethods())
})
return compose(routers)
}
module.exports = registerRouter
app.js
const Koa = require('koa');
const app = new Koa();
const registerRouter = require('./routes')()
const json = require('koa-json');
// json pretty
app.use(json());
// 配置路由模块
// 如果以普通方式引入 app.use(router.routes()).use(router.allowedMethods());
app.use(registerRouter)
app.listen(3000, () => {
console.log('Koa Server Started.... listen 3000 port');
})
即可完成路由及其分文件功能