[TOC]
#### Koa 路由自动加载 require-directory
* [ ] 文档 https://www.npmjs.com/package/require-directory
* [ ] 安装 cnpm i -S require-directory
* [ ] 使用:
![](https://box.kancloud.cn/d47a405985a997a4798be5338838a58f_170x214.png)
>[danger] init.js 框架初始化类
~~~
const requireDirectory = require('require-directory')
const Router = require('koa-router')
class InitManager {
// 入口方法
static initCore(app) {
// 静态属性
InitManager.app = app
// 路由加载
InitManager.initLoadRouter()
}
// 初始化路由
static initLoadRouter() {
// process.cwd() 项目根目录
const apiDirectory = `${process.cwd()}/app/api`
requireDirectory(module, apiDirectory, {visit: loadModule})
function loadModule(obj) {
// 判断当前模块是否是Router的实例对象
if (obj instanceof Router) {
// 注册理由
InitManager.app.use(obj.routes())
}
}
}
}
module.exports = InitManager
~~~
>[danger] app.js 入口文件
~~~
const Koa = require('koa')
// 引入初始化类
const InitManager = require('./core/init')
const app = new Koa()
// 初始化类
InitManager.initCore(app)
app.listen(9000)
~~~
- 序言
- ES6模块化
- node基础
- FS模块
- 常用变量
- crypto加密
- 基础
- 安装
- 中间件
- 架构
- 结构分层
- 配置
- 路由
- 安装路由
- 自动加载
- 获取参数
- 路由前缀
- 路由中间件
- 控制器
- 请求
- 请求信息
- 数据库
- mongoDB
- mongoDB原生语句
- mongoDB数据库角色
- mongoose连接数据库
- 自动记录时间戳
- 模型
- mongoose模型
- 定义
- 模型初始化
- 查询
- 新增
- 更新
- 删除
- 隐藏字段
- 模式
- 关联查询
- 复杂模型
- 仿知乎个人资料建模
- 关注与粉丝
- 视图
- 模板
- edge
- 日志
- 错误和调试
- 调试当前文件
- nodemon调试
- 异常处理
- Koa2错误处理
- 验证
- Koa验证器
- async-validator
- installation
- 安全
- 数据加密
- 杂项
- jwt
- koa-jwt
- env环境变量配置
- 上传
- 分页和模糊搜索
- 扩展
- nodemon
- bodyparser
- koaJsonError
- cross-env
- uuid生成唯一ID
- pope字符串模板引擎
- 命令行
- 部署
- 附录
- RESTfulApi
- Http动词
- 状态码
- 调用频率限制
- 按需查询字段
- restful分页