我正在为客户端 MVC 应用程序开发 JavaScript 路由器引擎……涉及到 Backbone 或 Spine 之类的东西。
我的路由器需要匹配可选地包括资源标题和可选地包括请求格式的 URI 段。
我正在寻找资源:id
、可选:name
段和可选:format
段,例如:
/123 => id:'123', name: undefined, format: undefined
/123-my-name => id:'123', name:'my-name', format: undefined
/123.html => id:'123', name: undefined, format:'html'
/123-my-name.html => id:'123', name:'my-name', format:'html'
编辑:还有其他路由将匹配嵌套路径,所以这个表达式不应该匹配/123-my-name/edit
或/123-my-name/edit.html
当它们都不存在时,我可以轻松地匹配可选:name
或:format
部分,但是当两者都存在时,我很难区分:name
它们:format
。
有什么建议么?