Node—requireDirectory实现路由自动加载
分类专栏: Node
简介 Node—requireDirectory实现路由自动加载,方便管理路由api
<p><strong class="ql-size-large">1./core/init.js</strong></p><pre class="ql-syntax" spellcheck="false">const requireDirectory = require("require-directory")
const Router = require('koa-router')
class InitManager {
constructor(){}
static initCore(app) {
// 入口方法
InitManager.app = app
InitManager.initLoadRouters()
}
static initLoadRouters() {
requireDirectory(module, '../app/api', {
visit: whenLoadModule
})
function whenLoadModule(obj) {
if (obj instanceof Router) {
InitManager.app.use(obj.routes())
}
}
}
}
module.exports = InitManager
</pre><p><br></p><p><strong class="ql-size-large">2.加载路由</strong></p><pre class="ql-syntax" spellcheck="false">const Koa = require('koa')
const InitManager = require('./core/init')
const app = new Koa()
InitManager.initCore(app)
</pre><p><br></p><p><strong class="ql-size-large">3.测试 ;/app/api/index.js</strong></p><p><br></p><pre class="ql-syntax" spellcheck="false">const Router = require('koa-router')
const router = new Router()
router.get('/test', async(ctx, next) =>{
ctx.body = 'test'
})
module.exports = router
</pre><p><br></p><p>学习在于积累。</p>
分享到:
转载:
喜欢 2
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
Docker 常用命令
docker目前代替虚拟机使用的一个容器,灵活好用。
-
docker搭建jenkins环境执行宿主机的docker无权限的解决方法
初次搭建jenkins持续集成工具的时候,在运行项目阶段出现 permission denied的情况
-
群辉nas docker容器 配置svn仓库,并实现外网访问
2022-08-11的这一天, 群辉nas到手了, 实现svn仓库外网的访问,折腾了好久。记录一下。
-
jQuery 3.0正式发布
jQuery 基金会刚刚发布了该 Java 框架的 3.0 版本,并且首次抛弃了对老旧的 IE 浏览器的支持。jQuery 3.0 的工作始于 2014 年 10 月,其最初目标是在 2.0 版本之上进行完善,并和遥远的 1.0 版代码说再见——因为要兼容 IE 的缘故,其已经臃肿不堪。jQuery 2.0 已经与 1.0 版本完全不兼容,而 3.0 也将继续这一路线。
- 点击排行
- 站长推荐
- 猜你喜欢
- vue 分割手机号码的格式
- Node——相关语法知识
- rem 响应式布局公式
- Spotify 安卓 App 出现卡启动屏的问题,官方称正在调查
- jenkins保存docker容器数据
- Facebook 母公司 Meta 取消硅谷总部后勤外包合同:导致数百人失业
- Dockerfile部署执行脚本的时候,yarn报The engine “node“ is incompatible with this module.
- NoSQL数据库的意义
- 英国军方 Twitter 和 YouTube 账号被黑:为 NFT 做起广告,现已恢复
- 天谋科技 Timecho 完成近亿元人民币天使轮融资 围绕 Apache IoTDB 打造工业物联网原生时序数据库
- 网站信息
- 站内问答:12篇
- 站内文章:213篇
- 建站时间:已运行1245天
- 备案号: 浙ICP备2022018799号
- 语言:
- English(USA)
- French(FR)
- Chinese(ZH)
无数据