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.