摘要:背景路由越來越多下的都要使用下面的方式引入怎么才能方便快捷的將下的所有文件都引入呢這次記錄的就是如果將一次性循環引入文件目錄傳統方式引入引入用來遞歸地迭代指定的目錄,并返回這些模塊。
背景
koa-router路由越來越多,api下的router都要使用下面的方式引入,怎么才能方便快捷的將api下的所有文件都引入呢
這次記錄的就是如果將koa-router 一次性循環引入
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
傳統方式引入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用來遞歸地迭代指定的目錄,并返回這些模塊。
github
隨著文件增加,如何高效的開發就是我們要追求的事情了
首先
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)
路由文件就按照傳統的方式寫就行
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關于我
您可以掃描添加下方的微信并備注 Sol 加交流群,給我提意見,交流學習。
如果對你有幫助送我一顆小星星(づ ̄3 ̄)づ╭?~
轉載請聯系作者!
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/109730.html
摘要:如下圖嗯,如圖都已經查詢到我們保存的全部數據,并且全部返回前端了。如圖沒錯,什么都沒有就是查詢服務的界面。寫好了之后我們在配置一下路由,進入里面,加入下面幾行代碼。 GraphQL一種用為你 API 而生的查詢語言,2018已經到來,PWA還沒有大量投入生產應用之中就已經火起來了,GraphQL的應用或許也不會太遠了。前端的發展的最大一個特點就是變化快,有時候應對各種需求場景的變化,不...
摘要:簡介搭建多頁面服務端渲染技術點搭建服務創建頁面路由模板引擎組合打包多頁面端異步請求服務端日志打印項目源碼運行一現代服務端渲染的由來服務端渲染概念是指,瀏覽器向服務器發出請求頁面,服務端將準備好的模板和數據組裝成完整的返回給瀏覽器展示前端后 簡介 nodejs搭建多頁面服務端渲染 技術點 koa 搭建服務 koa-router 創建頁面路由 nunjucks 模板引擎組合html ...
摘要:本項目中采用了進行狀態管理,的主要作用是允許狀態在不同分支的組件中進行傳遞,從而避免了使用原始方法如導致的不同分支組件之間數據無法傳遞子組件無法修改父組件狀態等問題。 項目功能 最近在做一個舊書交易網站,本屬于B/S體系結構的課程作業,但由于采用了新的框架所以躍躍欲試想都記錄下來。 實現一個舊書交易網站,基本功能如下: 實現用戶注冊、登錄功能,用戶注冊時需要填寫必要的信息并驗證,如...
閱讀 2659·2021-11-23 09:51
閱讀 3251·2021-11-22 14:44
閱讀 4579·2021-11-22 09:34
閱讀 5117·2021-10-08 10:14
閱讀 2426·2021-09-22 15:47
閱讀 3510·2021-09-22 15:40
閱讀 1515·2019-08-30 15:44
閱讀 1624·2019-08-28 18:23