Vueのエラーメモ
Failed to mount component: template or render function not defined.
VueRouterを使用したところ「Failed to mount component: template or render function not defined.」というエラーが出ました。
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: require('../components/HelloWorld.vue') } ] })
原因
vue-loderのバージョン13以上になるとこのエラーが出るようです。
Release v13.0.0 · vuejs/vue-loader
対処法
対処法はこちらに記載がありました。
下記に記載する3パターンのいずれでもエラーを回避出来ます。
requireのところで「default」を付ける
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: require('../components/HelloWorld.vue').default } ] })
アロー関数を使用する。
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: () => import('../components/HelloWorld.vue') } ] })
importをする
import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) import helloWorld from './components/HelloWorld.vue'; export default new Router({ routes: [ { path: '/', name: 'HelloWorld', component: helloWorld } ] })
0 件のコメント :
コメントを投稿