成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

koa router 多文件引入

sixleaves / 2957人閱讀

摘要:背景路由越來越多下的都要使用下面的方式引入怎么才能方便快捷的將下的所有文件都引入呢這次記錄的就是如果將一次性循環(huán)引入文件目錄傳統(tǒng)方式引入引入用來遞歸地迭代指定的目錄,并返回這些模塊。

背景

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用來遞歸地迭代指定的目錄,并返回這些模塊。
github
隨著文件增加,如何高效的開發(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
關(guān)于我

您可以掃描添加下方的微信并備注 Sol 加交流群,給我提意見,交流學(xué)習(xí)。

如果對你有幫助送我一顆小星星(づ ̄3 ̄)づ╭?~

轉(zhuǎn)載請聯(lián)系作者!

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/109730.html

相關(guān)文章

  • GraphQL 搭配 Koa 最佳入門實踐

    摘要:如下圖嗯,如圖都已經(jīng)查詢到我們保存的全部數(shù)據(jù),并且全部返回前端了。如圖沒錯,什么都沒有就是查詢服務(wù)的界面。寫好了之后我們在配置一下路由,進入里面,加入下面幾行代碼。 GraphQL一種用為你 API 而生的查詢語言,2018已經(jīng)到來,PWA還沒有大量投入生產(chǎn)應(yīng)用之中就已經(jīng)火起來了,GraphQL的應(yīng)用或許也不會太遠了。前端的發(fā)展的最大一個特點就是變化快,有時候應(yīng)對各種需求場景的變化,不...

    MoAir 評論0 收藏0
  • node服務(wù)端渲染(完整demo)

    摘要:簡介搭建多頁面服務(wù)端渲染技術(shù)點搭建服務(wù)創(chuàng)建頁面路由模板引擎組合打包多頁面端異步請求服務(wù)端日志打印項目源碼運行一現(xiàn)代服務(wù)端渲染的由來服務(wù)端渲染概念是指,瀏覽器向服務(wù)器發(fā)出請求頁面,服務(wù)端將準(zhǔn)備好的模板和數(shù)據(jù)組裝成完整的返回給瀏覽器展示前端后 簡介 nodejs搭建多頁面服務(wù)端渲染 技術(shù)點 koa 搭建服務(wù) koa-router 創(chuàng)建頁面路由 nunjucks 模板引擎組合html ...

    cheukyin 評論0 收藏0
  • React+Koa全棧開發(fā)手記

    摘要:本項目中采用了進行狀態(tài)管理,的主要作用是允許狀態(tài)在不同分支的組件中進行傳遞,從而避免了使用原始方法如導(dǎo)致的不同分支組件之間數(shù)據(jù)無法傳遞子組件無法修改父組件狀態(tài)等問題。 項目功能 最近在做一個舊書交易網(wǎng)站,本屬于B/S體系結(jié)構(gòu)的課程作業(yè),但由于采用了新的框架所以躍躍欲試想都記錄下來。 實現(xiàn)一個舊書交易網(wǎng)站,基本功能如下: 實現(xiàn)用戶注冊、登錄功能,用戶注冊時需要填寫必要的信息并驗證,如...

    wqj97 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<