Очевидный ответ - не вызывать функции раньше времени.
Особенно роутер - так делать вообще нельзя.
Любые умолчание и редиректы в самих роутах прописывайте, как я указал ещё в первом ответе.
Вы можете создать new Vue в самом начале индексного файла, а $mount сделать потом. Однако если вызовы будут ещё раньше то это не поможет - распределяйте приоритеты загрузки и выполняйте свои функции только когда vue готов.
Вы можете захреначить в самом верху страницы костыль, который предварительно вместо методов подставляет пустышки, или какое-нить извращение типа
function getNoop(){
const retSelf = function() {
return noop
};
const noop = new Proxy(retSelf, {
set: () => true,
defineProperty: retSelf,
get: retSelf
});
return noop;
}
global.app = getNoop();
, но зачем если туда можно саму инициализацию Vue поместить?