koa-router路由愈来愈多,api下的router都要使用下面的方式引入,怎么才能方便快捷的将api下的全部文件都引入呢
此次记录的就是若是将koa-router 一次性循环引入node
const book = require('./app/api/v1/book') const classic = require('./app/api/v1/classic') // ... app.use(book.routes(), book.allowedMethods()) app.use(classic.routes(), classic.allowedMethods()) //...
koa-demo/ |-api/ |-books.js |-classic.js |-users.js |-articles.js |-package.json |-app.js
传统方式引入routergit
app.jsgithub
const Koa = require('koa') const app = new Koa() const book = require('./app/api/v1/book') const classic = require('./app/api/v1/classic') app.use(book.routes(), book.allowedMethods()) app.use(classic.routes(), classic.allowedMethods()) app.listen(3333)
require-directory用来递归地迭代指定的目录,并返回这些模块。
github
随着文件增长,如何高效的开发就是咱们要追求的事情了npm
首先json
npm install require-directory
app.jsapi
const Koa = require('koa') const app = new Koa() const Router = require('koa-router') // 使用require-directory加载路由文件夹下的全部router const requireDirectory = require('require-directory') // 将全部的路由加载上,自动加载代码 const modules = requireDirectory(module, './api', { visit: whenLoadModule }) function whenLoadModule(obj) { if (obj instanceof Router) { app.use(obj.routes(), obj.allowedMethods()) } } app.listen(3333)
路由文件就按照传统的方式写就行
books.js微信
const Router = require('koa-router') const router = new Router() router.get('/v1/book/latest', (ctx, next) => { ctx.body = { key: 'book' } }) module.exports = router
您能够扫描添加下方的微信并备注 Soul 加交流群,给我提意见,交流学习。app
若是对你有帮助送我一颗小星星(づ ̄3 ̄)づ╭❤~koa
转载请联系做者!学习