Деструкторы виртуального базового класса - «лучшая практика» - вы всегда должны использовать их, чтобы избежать (трудно обнаружить) утечки памяти. Используя их, вы можете быть уверены, что все деструкторы в цепочке наследования ваших классов вызываются (в правильном порядке). Наследование из базового класса с использованием виртуального деструктора делает деструктор наследующего класса автоматически виртуальным (так что вам не нужно повторно указывать «виртуальный» в объявлении деструктора класса наследования).
Вы читаете это неправильно. В default.vue такого не должно быть. Там написано, что он должен быть в конфиге nuxt.
nuxt.config.js
export default {
router: {
middleware: 'stats'
}
}
Или, если это для страницы без ключа маршрутизатора
export default {
middleware: 'stats'
}