I have an app which consist of several modules, eg: contacts, meetings, reminders.
The urls are probably
1. /#contacts -> contacts module, listing page
2. /#contacts/45 -> contacts module, detail page of contact id 45
3. /#meeting -> meetings module, listing page
4. /#meeting/67 -> meetings module, detail page of meeting id 67
I use Marionette App.module('ContactMgr')
, App.module('MeetingMgr')
to separate modules.
Question: Which is the best practice?
A) separating routers in each module
// in file js/app/ContactMgr/Router.js
App.ContactMgr.Router = Marionette.AppRouter.extend({
appRoutes: {
'contacts': 'listContacts',
'contacts/:id': 'showContact'
}
});
//////////////////////////////////////////////
// in file js/app/MeetingMgr/Router.js
App.MeetingMgr.Router = Marionette.AppRouter.extend({
appRoutes: {
'meetings': 'listMeetings',
'meetings/:id': 'showMeeting'
}
});
B) one router in app
// in file js/app/app.js
App.Router = Marionette.AppRouter.extend({
appRoutes: {
'contacts': 'listContacts',
'contacts/:id': 'showContact',
'meetings': 'listMeetings',
'meetings/:id': 'showMeeting'
}
});