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

 更新时间:2019年05月22日 10:53:31   作者:乖摸摸头  
这篇文章主要介绍了koa router 多文件引入的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

背景

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Node.js安装配置图文教程

    Node.js安装配置图文教程

    这篇文章主要为大家详细介绍了Node.js安装配置的图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • NodeJS 实现多语言的示例代码

    NodeJS 实现多语言的示例代码

    这篇文章主要介绍了NodeJS 实现多语言的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 用Node编写RESTful API接口的示例代码

    用Node编写RESTful API接口的示例代码

    本篇文章主要介绍了用Node编写RESTful API接口的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • 在NodeJs中使用node-schedule增加定时器任务的方法

    在NodeJs中使用node-schedule增加定时器任务的方法

    这篇文章主要介绍了从零开始在NodeJs中使用node-schedule增加定时器任务的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Node.js 条形码识别程序构建思路详解

    Node.js 条形码识别程序构建思路详解

    这篇文章主要介绍了Node.js 条形码识别程序构建思路详解的相关资料,需要的朋友可以参考下
    2016-02-02
  • Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址

    Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址

    这篇文章主要介绍了Node.JS在命令行中检查Chrome浏览器是否安装,并打开指定网址,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • 修改npm全局安装模式的路径方法

    修改npm全局安装模式的路径方法

    今天小编就为大家分享一篇修改npm全局安装模式的路径方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 如何在NestJS中添加对Shopify的WebHook验证详解

    如何在NestJS中添加对Shopify的WebHook验证详解

    这篇文章主要为大家介绍了如何在NestJS中添加对Shopify的WebHook验证详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Windows下nodejs安装及环境配置的实战步骤

    Windows下nodejs安装及环境配置的实战步骤

    最近换了一个电脑,因为要使用到NodeJS,我将我自己的安装步骤分享给大家,下面这篇文章主要给大家介绍了关于Windows下nodejs安装及环境配置的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • NodeJs中express框架的send()方法简介

    NodeJs中express框架的send()方法简介

    这篇文章主要介绍了NodeJs中express框架的send()方法简介,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论