CNode

eggjs在route.js里动态加载从数据库里拿的route数据,这样写有问题吗?

问答
Kkalebwww发布于8 年前最后回复8 年前6 回复5104 浏览0 收藏

改成了async,能够实现需求,但是不知道这样做有没有什么其他问题?

查看回复

回复 (6)

H
heythanks#1·8 年前

楼主 能分享一下动态路由的处理方案吗?能拿到数据库的路由配置数据,可是controller和router又怎么动态生成呢

A
atian25#2·8 年前

会有问题,egg 启动成功后,已经对外服务,然后这个 mysql 才执行完,在这之前用户访问就会 404 了。

你这场景可以把这段逻辑移到 app.js 的 app.beforeStart 里面去加载数据和注册路由。

W
wangchaoduo#5·8 年前
引用 kalebwww@atian25 谢谢,顺利实现需求

@kalebwww 如果在服务已经开启的情况下,再修改动态路由,一楼的方法其实也不能跑通

A
atian25#6·8 年前
引用 wangchaoduo@kalebwww 如果在服务已经开启的情况下,再修改动态路由,一楼的方法其实也不能跑通

@wangchaoduo 必然,koa-router 不支持动态的,这种场景,自己 match 一个 * 在里面根据逻辑自己实现派发吧

参与回复
登录后即可参与回复。登录