摘要:背景路由越來(lái)越多下的都要使用下面的方式引入怎么才能方便快捷的將下的所有文件都引入呢這次記錄的就是如果將一次性循環(huán)引入文件目錄傳統(tǒng)方式引入引入用來(lái)遞歸地迭代指定的目錄,并返回這些模塊。
背景
koa-router路由越來(lái)越多,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用來(lái)遞歸地迭代指定的目錄,并返回這些模塊。
github
隨著文件增加,如何高效的開(kāi)發(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") // 將所有的路由加載上,自動(dòng)加載代碼 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)的方式寫(xiě)就行
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關(guān)于我
您可以掃描添加下方的微信并備注 Sol 加交流群,給我提意見(jiàn),交流學(xué)習(xí)。
如果對(duì)你有幫助送我一顆小星星(づ ̄3 ̄)づ╭?~
轉(zhuǎn)載請(qǐng)聯(lián)系作者!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/109730.html
摘要:如下圖嗯,如圖都已經(jīng)查詢到我們保存的全部數(shù)據(jù),并且全部返回前端了。如圖沒(méi)錯(cuò),什么都沒(méi)有就是查詢服務(wù)的界面。寫(xiě)好了之后我們?cè)谂渲靡幌侣酚?,進(jìn)入里面,加入下面幾行代碼。 GraphQL一種用為你 API 而生的查詢語(yǔ)言,2018已經(jīng)到來(lái),PWA還沒(méi)有大量投入生產(chǎn)應(yīng)用之中就已經(jīng)火起來(lái)了,GraphQL的應(yīng)用或許也不會(huì)太遠(yuǎn)了。前端的發(fā)展的最大一個(gè)特點(diǎn)就是變化快,有時(shí)候應(yīng)對(duì)各種需求場(chǎng)景的變化,不...
摘要:簡(jiǎn)介搭建多頁(yè)面服務(wù)端渲染技術(shù)點(diǎn)搭建服務(wù)創(chuàng)建頁(yè)面路由模板引擎組合打包多頁(yè)面端異步請(qǐng)求服務(wù)端日志打印項(xiàng)目源碼運(yùn)行一現(xiàn)代服務(wù)端渲染的由來(lái)服務(wù)端渲染概念是指,瀏覽器向服務(wù)器發(fā)出請(qǐng)求頁(yè)面,服務(wù)端將準(zhǔn)備好的模板和數(shù)據(jù)組裝成完整的返回給瀏覽器展示前端后 簡(jiǎn)介 nodejs搭建多頁(yè)面服務(wù)端渲染 技術(shù)點(diǎn) koa 搭建服務(wù) koa-router 創(chuàng)建頁(yè)面路由 nunjucks 模板引擎組合html ...
摘要:本項(xiàng)目中采用了進(jìn)行狀態(tài)管理,的主要作用是允許狀態(tài)在不同分支的組件中進(jìn)行傳遞,從而避免了使用原始方法如導(dǎo)致的不同分支組件之間數(shù)據(jù)無(wú)法傳遞子組件無(wú)法修改父組件狀態(tài)等問(wèn)題。 項(xiàng)目功能 最近在做一個(gè)舊書(shū)交易網(wǎng)站,本屬于B/S體系結(jié)構(gòu)的課程作業(yè),但由于采用了新的框架所以躍躍欲試想都記錄下來(lái)。 實(shí)現(xiàn)一個(gè)舊書(shū)交易網(wǎng)站,基本功能如下: 實(shí)現(xiàn)用戶注冊(cè)、登錄功能,用戶注冊(cè)時(shí)需要填寫(xiě)必要的信息并驗(yàn)證,如...
閱讀 2727·2021-11-23 09:51
閱讀 3319·2021-11-22 14:44
閱讀 4664·2021-11-22 09:34
閱讀 5404·2021-10-08 10:14
閱讀 2789·2021-09-22 15:47
閱讀 3588·2021-09-22 15:40
閱讀 1575·2019-08-30 15:44
閱讀 1689·2019-08-28 18:23