node koa2 使用 require-directory 实现自动注册
当我们编写路由的时候会发现需要多次导包,并在app.js
中进行注册
我们可以使用require-directory
进行简化代码
安装
npm i require-directory
注册
app.js
中引入,因为我们导包与注册主要是在app.js
中
const requireDirectory = require('require-directory')
简介
我们完全可以将
requireDirectory
当作require
使用区别:
require
只能导出单个文件,requireDirectory
可以导出一个文件夹(导出一个文件显得没有什么太大意义)
参数:
- module:固定写法
- path:需要导入的路径
- options:以键值对存储
使用
获取到
v1
文件夹下的所有文件信息第三个参数是由
{}
包括的,vistit
对应的是一个函数——即每访问到一个文件就会调用一次
requireDirectory(module,'./api/v1',{
visit:whenLoadModule
})
判断这个文件导出的实例 是否 为
Router
类型
- 如果为Router类型,那么就直接注册
function whenLoadModule(obj) {
if (obj instanceof Router) {
app.use(obj.routes())
}
}