看片91_日日综合_成人黄色短视频在线观看_91视频 - v11=Av_国产高潮失禁喷水爽到抽搐视频_天天都色视频

路由動態加載(動態添加路由)

小編:小丟 更新時間:2022-05-08 18:08

稍微大型一點的網站,路由都會有很多,因此我們一般將路由拆分到不同的文件中,但是在不同的文件中就會有一個問題,每次增加路由文件的時候,都必須在統一的路由加載模塊中添加,因此為了方便使用,我們采用動態加載路由的方式,這樣可以讓我們添加路由就像在單文件中添加一樣方便。

增加目錄掃描函數

// src/utils/utils.ts import fs from 'fs'; import path from 'path'; /** * @description 遍歷目錄 * @param dir * @param callback */ export const walkDir = (dir: string, callback: (file: string) => void) => { const files = fs.readdirSync(dir); files.forEach((file) => { const filePath = path.join(dir, file); const stat = fs.statSync(filePath); if (stat.isDirectory()) { walkDir(filePath, callback); } else { callback(filePath); } }); };

動態導入路由

按照規則遍歷 src/controller 目錄,在這個目錄下,我們將所有的邏輯處理都分類為子目錄,每個子目錄下創建 router.ts 文件,用來配置此目錄下的路由信息,然后統一加載指定的文件。使用 import 動態加載模塊,并采用 koa-router 的路由疊加功能就可以實現動態加載路由了。

// src/router/index.ts import path from 'path'; import KoaRouter from 'koa-router'; import { walkDir } from '../utils/utils'; const router = new KoaRouter(); walkDir(path.join(process.cwd(), 'src/controller'), (file) => { if (file.endsWith('router.ts')) { import(file).then((controller) => { if (controller) { router.use(controller.default.routes()); router.use(controller.default.allowedMethods()); } }); } }); export default router;

這里展示一下我們當前的目錄結構:

路由動態加載(動態添加路由)
主站蜘蛛池模板: 免费日韩一区二区 | 精品国产乱码久久久久 | 91精品国产92久久久久 | 亚洲经典在线观看 | 日韩视频在线观看 | 国产亚洲一区二区三区 | 天天干夜夜操视频 | 国内精品久久久久久久97牛牛 | 免费观看黄色 | 免费看黄在线网站 | 精品视频在线观看 | 中文字幕在线一区观看 | 97视频免费观看 | 久久久久久国产免费 | 国产成人免费视频 | 欧美3| 精品国产凹凸成av人导航 | 亚洲精品一区在线 | 国产在线精品一区二区三区 | 国产综合精品一区二区三区 | 国产毛片一区二区三区 | 成人免费在线观看 | 国产一区二区成人在线 | 亚洲免费a | 欧美日韩国产在线一区 | 伊人99综合 | 在线免费av观看 | 成人免费网站 | 国产综合激情 | 中文字幕免费在线 | www.7788久久久久久久久 | 日韩精品国产精品 | 欧美视频精品 | 日韩国产 | 羞羞视频在线观看免费 | 天堂av免费观看 | 国产激情精品一区二区三区 | 国产成人一区二区三区 | 免费的av | 国产精品日本一区二区不卡视频 | 免费成人高清在线视频 |