アプリでルートを設定するためにmeteor-routerパッケージを使用しています。ただし、いくつかのルートを「動的に」設定できる必要があります。これは、いくつかの「静的」ルートといくつかの「動的」ルートがあり、それらがいくつかの変数(特にURLの一部)に応じて変化していることを意味します。
たとえば、ユーザーがwww.example.com/fooにアクセスした場合、私のルートにはすべてのURLのプレフィックスを付ける必要があります。foo
ユーザーがwww.example.com/barにアクセスした場合、すべてのルートにbar
プレフィックスを付ける必要があります。
擬似コード:
Meteor.subscribe('bar', function(){
var prefix = window.location.pathname.replace(/^\/([^\/]*).*$/, '$1');
// "dynamic" routes, generated after 'subscribe' is ready
Meteor.Router.add({
prefix+'/': function() {
// some code
return 'mainTemplate';
},
prefix+'/welcome': 'welcome',
prefix+'/foo': 'foo',
prefix+'/bar': 'bar'
});
)};
// "static" routes, independent of current URL
Meteor.Router.add({
'/': 'home',
'/admin': 'admin'
});