Vue hiba - Failed to mount component, template or render function not defined
2019 Nov.

Egyik projectben találkoztam ezzel a hibával, ahol Laravel-ben (6.x) használtam Vue.js-t, és bár a fordítás sikeres volt, a developer konzolban az alábbi hibát kaptam:

[Vue warn] Failed to mount component, template or render function not defined.

Melyik sor okozta ezt a warningot?

Vue.component('cookie-consent', require('vue-cookieconsent-component'));

Kisebb utánajárás után kiderült, hogy a vue-loader, ami nem más mint egy loader Webpack számára, mellyel a .vue kiterjesztésű komponenst tudja értelmezni a Webpack, módosult a 13-as verzió óta, mi szerint ha - Commonjs féle - require-t használunk, akkor azt a komponenst a default kulcs szerint tölti be, és ezt jeleznünk kell az alábbi módon:

Vue.component('cookie-consent', require('vue-cookieconsent-component').default);

Ez nem érinti az ES6 által használt import kulcsszót, ott nincs változás részünkről a hívásban.