我希望能够匹配这样的路径: /path/anything/goes/here/and/can/be/an/arbitrarily/long/path
。铁:路由器“globbing”不起作用
所以,我试图以下所有:
Router.route('/path/*', function(){
this.render('home');
});
我也试过的路径:'/path/:something(*)'
和我还试图options
对象,指定的路径中的第二个参数Router.route
:与动作功能沿着{path: '/path/*', action:myActionFunction}
。我甚至用Router.map
代替Router.route
尝试,规定在以下两个:
https://gentlenode.com/journal/meteor-11-iron-router-cheatsheet/18
http://www.manuel-schoebel.com/blog/iron-router-tutorial
但尽管如此,要到/path/anything/goes/here
不起作用。它带我到默认的铁:路由器的错误页面:
哎呀,看起来像有在客户端上的路由或URL服务器:“HTTP本地主机... :1710 .../path/this/should/work/according/to/the/above/links。“
任何帮助表示赞赏,感谢。
我看到你在那里做了什么!我修改了一下你的解决方案,以适应我的情况。这很奇怪,因为我检查的每个资源都省略了小数点。然后我意识到这只是变成了一个正则表达式... 我用过:''/ path /([_]?[a-zA-Z0-9] *)*'' 因为我只想匹配alnums(和一个可选的前导下划线)谢谢,你帮了我一大堆! – Clover 2014-12-06 03:14:10
你确定你的第二个陈述吗?如果这个流行病在启动,那么在他们有机会被细粒度的路线看到之前,它不会抓住一切吗?我以为Meteor.startup在router.js之前运行? – Clover 2014-12-06 03:20:34
@Clover不,我不确定第二个陈述。我所知道的是,当我的glob(或可选)路由不在启动时,它在包之前的路由中运行。tmeasday建议在启动时放置博客/可选路线以防止该行为。看到这个问题#:https://github.com/EventedMind/iron-router/issues/1007 – 2014-12-06 11:38:41