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
轉載請聯繫做者!學習