而是把if (Meteor.isClient){}
檢查你的router.js
文件裏的,你可以簡單地刪除檢查,並把該文件的頂級client
文件夾內的應用程序目錄。這樣,您就不必擔心在服務器上處理您的路線了。在做出這樣的轉變,你可以構建上述路線定義的兩種方法之一:
Router.route('/courses/:id', function() {
this.wait(Meteor.subscribe('comments')); // Either this one
this.subscribe('comments').wait(); // or this one. DO NOT DO BOTH.
if(this.ready()) {
this.render();
} else {
this.render('CourseDetail');
}
});
或:
Router.route('/courses/:id', {
subscriptions: function() {
this.subscribe('comments');
},
action: function() {
this.render('CourseDetail');
}
});
注意,第一個選項傳遞函數作爲第二個參數Router.route()
功能而第二個選項將對象作爲第二個參數傳遞給Router.route()
函數。這兩個選項都非常有效。有關第一個選項的信息,請檢查this;有關第二個選項的信息,請查看this。
至於什麼時候你會做服務器端路由,通常這是通過設置你的應用的HTTP請求/響應部分來訪問你的服務器的外部應用來完成的。除非是這種情況,否則你很可能永遠不需要擔心設置這樣的事情。但是,在這樣做的情況下,您可以定義您的路線並將它們放入應用程序目錄中的頂層server
文件夾中。有關服務器端路由的信息,請檢查this。