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用来递归地迭代指定的目录,并返回这些模块。
随着文件增加,如何高效的开发就是我们要追求的事情了
首先
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
安装nvm并使用nvm安装nodejs及配置环境变量的全过程
有时候使用nvm管理node会发现无法使用node或npm,主要原因是环境变量没有配置成功,下面这篇文章主要给大家介绍了关于安装nvm并使用nvm安装nodejs及配置环境变量的相关资料,需要的朋友可以参考下2023-03-03
Ubuntu 16.04 64位中搭建Node.js开发环境教程
如果想要在Ubuntu 16.04上安装Node.js的话,这篇文章对你来说肯定很重要。Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序。本文给大家详细介绍了在Ubuntu 16.04 64位搭建Node.js开发环境的步骤,有需要的朋友们可以参考学习。2016-10-10
Node.js 构建命令行工具之实现 ls 命令的 -a 和 
本文介绍了如何使用Node.js实现一个简单的命令行工具,模仿常用的ls命令,包括其-a和-l参数的功能,文章详细讲解了命令行参数的解析、文件类型的判断、权限信息的处理、文件链接数和修改时间的格式化等步骤,并提供了完整的代码实现2024-11-11


最新评论