Может неправильно понял вопрос, чуть что поправляйте.
Для динамического использования используйте геттеры:
"/:hl/p12": {
get controller(): {
return page1Controller || page2Controller; //тут могут быть любые условия
},
handlerMethod: "onInit",
onLeaveHandlerMethod: "onLeave"
},
Для динамической загрузки можно использовать условия:
let pageController;
if(true) {
pageController = require("../modules/page1Controller"). page1Controller;
} else {
pageController = require("../modules/page2Controller"). page2Controller;
}
"/:hl/p12": {
controller: pageController,
handlerMethod: "onInit",
onLeaveHandlerMethod: "onLeave"
},
P.S. А вообще советую обратить внимание на Angular 2 :)