Vue.js迁移到2.0:无法安装组件:模板或渲染函数未定义。 (在根实例中找到)

时间:2016-10-06 07:27:44

标签: vue.js

//编辑:我想我已经解决了问题。我需要vue的独立版本......

我已将vue.js 1.0应用程序迁移到vue.js 2.0(使用迁移帮助程序)。但是这个错误在控制台Failed to mount component: template or render function not defined. (found in root instance)中显示了我。

这是我简化的main.js:

import Vue from 'vue';
import Router from 'vue-router';

import SiteHeader from './components/Header.vue';
import Content from './components/Content/Content.vue';
import SiteFooter from './components/Footer.vue';

Vue.use(Router);

const router = new Router({
  mode: 'history',
  root: '/',
  routes: [
    { path: '/', component: Content }
  ]
});

new Vue({
  router,

 components: {
    SiteHeader, SiteFooter
  }
}).$mount('body');

Content.vue是一个普通的vue文件,其中包含模板和脚本(这里没什么特别的。)

我的'theterter-view`是在laravel.blade文件中定义的

 @if(Request::is('login'))
  <login></login>
 @else
  <site-header></site-header>
  <router-view></router-view>
  <site-footer></site-footer>
 @endif

1 个答案:

答案 0 :(得分:10)

对于初学者,不允许在Vue 2.0中安装到body元素。

此外,正如错误消息所述,您尚未提供模板或渲染功能。

我假设(因为你没有显示)你在HTML页面中直接有模板标记。

可以工作,但只能使用Vue的“独立”版本。但是,Vue的npm包的默认导出是“运行时构建”,它无法解析这样的templade代码。

此处提供更多信息:

https://vuejs.org/guide/installation.html#Standalone-vs-Runtime-only-Build