我想知道铁路由器如何使用根上的参数处理。
说我有一些路线:
Router.route("/:uri"); // domain.tld/MyCustomUri
Router.route("/app/login"); // domain.tld/app/login
Router.route("/about"); // domain.tld/about
这有效,但我想知道铁路由器如何解析它,以及是否有任何效率问题?
在这种情况下是铁路由器检查以查看根上的参数是否与路由案例匹配,如果不匹配那么它必须是:uri
参数(并因此确定),或者它只是命中路线按时间顺序排列?什么是逻辑铁路由器在这里使用?
答案 0 :(得分:1)
来自Manuel Schoebel的this tutorial:
按照您创建的顺序检查路线。
因此,在您的情况下,/about
会指向您的/:uri
路线,this.params.uri == "about"
。 (并且无法联系到您的/about
路线)
我以为我也在官方文档中也阅读了这条规则,但遗憾的是,我似乎无法找回它。你可以找到支持这个前提的comments。
人们在项目的Github上讨论in an open issue有可能允许铁路由器“聪明”并将“静态路由”优先级与带参数的匹配,无论是宣布路线的顺序。所以我猜这不是今天的情况。