VueJs:无法安装组件

问题描述:

我使用Vue的路由器,而是因为加载它抛出我这个模糊的错误的组件:VueJs:无法安装组件

Failed to mount component: template or render function not defined. 

found in 
---> <Anonymous> 
     <Root> 

这是我的入口点(app.js)(注意我“M在组合使用多个条目与所述CommonsChunksPlugin):

import Vue from 'vue' 

import '../../../assets/css/main.css' 

import App from './app.vue' 

new Vue(App).$mount('#app') 

HTML文件(app.html)

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, 
maximum-scale=1.0, user-scalable=0"> 

</head> 
<body> 
    <div id="app"></div> 
</body> 
</html> 

(app.vue)

<template> 
<div> 
    <router-view></router-view> 
</div> 
</template> 
<script> 
    import { 
      router, 
    } from './bootstrap.js'; 
    export default { 
     router, 
    }; 
</script> 

路由器:

import Vue from 'vue'; 

import VueRouter from 'vue-router'; 

var routes = [ 
       { 
        path: '/login', 
        name: 'login.index', 
        component: require('./index/index.vue'), 
       }, 
       { 
        path: '/', 
        redirect: '/login', 
       }, 
     ]; 

Vue.use(VueRouter); 

export const router = new VueRouter({ 
    routes, 
}); 


Vue.router = router; 

export default { 
    router, 
}; 

,最后的组件:

<template> 
<div> 
    <h1>Test</h1> 
</div> 
</template> 

<script> 
    export default {} 
</script> 

我重定向到/ LO如预期的杜松子酒,但组件不会加载。

+0

您使用的是什么版本的vue-loader? – Peter

+0

嗨,彼得,我使用vue-loader版本13.0.4。 你有什么想法吗? –

+0

@JanSchmutz我遇到了同样的问题,请问您是如何解决这个问题的? –

你还没有在app.js文件中导入你的组件,你应该导入这个组件文件。让说,它的名字是xyz.vue

import componentName from 'path';

<template> 
 
<div> 
 
    <h1>Test</h1> 
 
</div> 
 
</template> 
 

 
<script> 
 
    export default {} 
 
</script>

您可能会运行到这里所描述的重大更改:https://github.com/vuejs/vue-loader/releases/tag/v13.0.0

尝试增加.DEFAULT到年底你的require()

component: require('./index/index.vue').default 
+0

感谢您的回复,不幸的是这并没有改变我对我的看法,因为我仍然收到相同的错误信息 –

+0

对不起,我认为那是因为我能够用类似的设置重现您的错误。只需确认:在更改后您是否重新运行过webpack? – Peter

+0

这项工作。谢谢 –