为什么要new多个router(),管理路由呢?

来源:2-9 工作目录介绍、合并路由、静态资源服务【进阶篇】

Hew_520

2020-04-02 17:07:10

如题,不明白用多个的原因,只是为了好拆分,逻辑清晰吗?还是有其他原因?

写回答

1回答

Brian

2020-04-03

为什么要new多个router(),管理路由呢?

——因为router是一个原型,new可以用来实例化一个原型(类),从而在内存中分配一个实例对象。

如题,不明白用多个的原因,只是为了好拆分,逻辑清晰吗?

——每个类都会有自己的作用域、私有方法,逻辑上把路由进行了切分。

还是有其他原因?

router = new Router()之后,router继承了Router这个对象,router是Router的一个实例。

——这个可以翻看一下koa-router的源码了

http://img.mukewang.com/climg/5e8613370913c79a12941100.jpg

参考: 

https://zhuanlan.zhihu.com/p/23987456



2
hrian
回复
hew_520
h 当然可以,但是一个Router只会有一个prefix,你如果api层级太多,你会发现,你分了文件,也是噩梦。比如: 你可能会写/admin/add,/user/add 等等,都需要写全这个路径!建议与官方的demo写法一致,参考koa-combine-routes的用法,简化逻辑层次!
h020-04-03
共2条回复

0 学习 · 1842 问题

查看课程