鼓励开源,先点个赞。粗扫了一眼,有几点想法,求解
1)功能很强大,api设计的不是很好,还可以提升一下 2)性能提升是啥原因?中间件机制自己写的么? 3)src下的components没有在文档里看到咋玩的
有点想在新项目里面用上,唯一一点可能是es7的一些东西需要学习下。还有就是中间件用order来排序,好处就是可以不按顺序写,只按照order排序,会不会到后面不好维护呢?
@i5ting 文档还是有待加强。。。框架是按照继承的基类自动加载的,只需要在app目录下定义对应功能文件即可: https://dazejs.org/#/docs/core/autoload
@i5ting 设计 api 方面也是最花时间的一部分了。。希望大佬指教😆
@i5ting 中间件机制是自己实现的,其实无路由的情况下和 koa 的性能差距不大,语言层面/中间件机制/响应机制都有一点关系,路由层面做了数据结构的优化,基于前缀树结构来提升寻址性能,不会因为路由数量增加而明显降低寻址性能
@czewail 那理论上和fastify一样,基于radix tree实现的
@i5ting 是的,加了一些功能优化,例如内置优先级算法,全匹配路由等
@czewail 已经在example-order.ts里面看到了用例以及middleware下面的测试用例,我意思是如果写的时候出现了相同order如何处理?相同odrer无所谓先后?
@jxycbjhc 用户使用中间件一般是 @use(middlewareClass)
, 会按照使用的顺序进行,register 方式一般在扩展模块的时候会用的比较多
@czewail 懂了。补充一下和https://www.cnblogs.com/accordion/p/10569848.html 这个有点像了。