如何使用Kemal的所有路线?
对于Vue.js的单页应用程序--至少在我们的页面的SUB URL上--我们希望在我们的服务器上有一个捕捉器,它将始终呈现相同的模板/HTML输出到浏览器。
Kemal在内部是基于Radix的路由。
Radix有一个Catch All / Glob特性。 *
因此,如果我们想创建一个全面的路线,我们只需写。
get "/debug/*" do |env|
渲染 "src/views/hello.ecr"
结束
这将匹配,例如。
- /debug
- /debug/
- /debug/anything
- /debug/anything/as/deep/as/you/want
这将不匹配。
- /debug3
进一步阅读/代码。
- https://github.com/luislavena/radix/blob/master/src/radix/tree.cr - 寻觅 private def find(path : String, result : Result, node : Node, first = false) - 在写这篇文章的时候,第256行中的glob *被定义为