最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

koa router 多文件引入的方法示例

 更新時間:2019年05月22日 10:53:31   作者:乖摸摸頭  
這篇文章主要介紹了koa router 多文件引入的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

背景

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 安裝nvm并使用nvm安裝nodejs及配置環(huán)境變量的全過程

    安裝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)文件上傳功能

    基于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 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)技巧小結

    這篇文章主要介紹了Nodejs 和Session 原理及實戰(zhàn)技巧小結,需要的朋友可以參考下
    2017-08-08
  • Node.js 構建命令行工具之實現(xiàn) ls 命令的 -a 和 -l 選項

    Node.js 構建命令行工具之實現(xiàn) ls 命令的 -a 和 

    本文介紹了如何使用Node.js實現(xiàn)一個簡單的命令行工具,模仿常用的ls命令,包括其-a和-l參數(shù)的功能,文章詳細講解了命令行參數(shù)的解析、文件類型的判斷、權限信息的處理、文件鏈接數(shù)和修改時間的格式化等步驟,并提供了完整的代碼實現(xiàn)
    2024-11-11
  • 淺析node應用的timing-attack安全漏洞

    淺析node應用的timing-attack安全漏洞

    本篇文章給大家通過原理的原因分析了node應用的timing-attack安全漏洞問題,有興趣的朋友閱讀參考下。
    2018-02-02
  • nodejs中使用throw進行異常處理的操作方法

    nodejs中使用throw進行異常處理的操作方法

    最近在寫一個nodejs項目時在思考一個問題: 在方法調(diào)其他方法的過程中,其他方法是采用return來返回特定格式的錯誤數(shù)據(jù)還是使用throw來直接拋出錯誤?所以本文給大家介紹了nodejs中使用throw進行異常處理的操作方法,需要的朋友可以參考下
    2024-12-12
  • benny簡單框架benchmark功能使用

    benny簡單框架benchmark功能使用

    這篇文章主要為大家介紹了benny簡單框架benchmark功能使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • NodeJS加密解密及node-rsa加密解密用法詳解

    NodeJS加密解密及node-rsa加密解密用法詳解

    要用nodejs開發(fā)接口,實現(xiàn)遠程調(diào)用,如果裸奔太危險了,就在網(wǎng)上找了一下nodejs的加密,感覺node-rsa挺不錯的,下面來總結一下簡單的rsa加密解密用法,需要的朋友可以參考下
    2018-10-10
  • nodejs 的 session 簡單使用

    nodejs 的 session 簡單使用

    session 不用多介紹,使一個http可以對應一個終端用戶,需要的朋友可以參考下。
    2016-06-06

最新評論

镇坪县| 义马市| 象山县| 镇平县| 班玛县| 万年县| 清原| 三穗县| 云南省| 陈巴尔虎旗| 平乡县| 夏邑县| 水城县| 曲松县| 阳谷县| 孟津县| 桂东县| 同德县| 吉隆县| 嵩明县| 陆良县| 西贡区| 海阳市| 吉隆县| 青神县| 麻栗坡县| 探索| 五常市| 繁峙县| 隆德县| 武强县| 莱州市| 股票| 舟山市| 兰考县| 延边| 越西县| 罗田县| 义乌市| 建湖县| 将乐县|