koa router 多文件引入的方法示例
背景
koa-router路由越來越多,api下的router都要使用下面的方式引入,怎么才能方便快捷的將api下的所有文件都引入呢
這次記錄的就是如果將koa-router 一次性循環(huán)引入
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
傳統(tǒng)方式引入router
app.js
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引入
require-directory用來遞歸地迭代指定的目錄,并返回這些模塊。
隨著文件增加,如何高效的開發(fā)就是我們要追求的事情了
首先
npm install require-directory
app.js
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)
路由文件就按照傳統(tǒng)的方式寫就行
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
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的全過程
有時候使用nvm管理node會發(fā)現(xiàn)無法使用node或npm,主要原因是環(huán)境變量沒有配置成功,下面這篇文章主要給大家介紹了關于安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的相關資料,需要的朋友可以參考下2023-03-03
基于Express+multer實現(xiàn)文件上傳功能
Multer是Node.js中的一個第三方包,或者說是第三方中間件,主要用于是實現(xiàn)文件上傳的功能,本文小編講給大家詳細介紹一下基于Express+multer來實現(xiàn)文件上傳功能,文章通過代碼示例和圖文介紹的非常詳細,需要的朋友可以參考下2023-11-11
Ubuntu 16.04 64位中搭建Node.js開發(fā)環(huán)境教程
如果想要在Ubuntu 16.04上安裝Node.js的話,這篇文章對你來說肯定很重要。Node.js從本質(zhì)上來說就是一個運行在服務端上的封裝好了輸入輸出流的javascript程序。本文給大家詳細介紹了在Ubuntu 16.04 64位搭建Node.js開發(fā)環(huán)境的步驟,有需要的朋友們可以參考學習。2016-10-10
Nodejs 和Session 原理及實戰(zhàn)技巧小結
這篇文章主要介紹了Nodejs 和Session 原理及實戰(zhàn)技巧小結,需要的朋友可以參考下2017-08-08
Node.js 構建命令行工具之實現(xiàn) ls 命令的 -a 和 
本文介紹了如何使用Node.js實現(xiàn)一個簡單的命令行工具,模仿常用的ls命令,包括其-a和-l參數(shù)的功能,文章詳細講解了命令行參數(shù)的解析、文件類型的判斷、權限信息的處理、文件鏈接數(shù)和修改時間的格式化等步驟,并提供了完整的代碼實現(xiàn)2024-11-11

