[TOC]
#### Koa 路由自動加載 require-directory
* [ ] 文檔 https://www.npmjs.com/package/require-directory
* [ ] 安裝 cnpm i -S?require-directory
* [ ] 使用:

>[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分頁