我希望能夠匹配這樣的路徑: /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