//编辑:我想我已经解决了问题。我需要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
答案 0 :(得分:10)
对于初学者,不允许在Vue 2.0中安装到body元素。
此外,正如错误消息所述,您尚未提供模板或渲染功能。
我假设(因为你没有显示)你在HTML页面中直接有模板标记。
此可以工作,但只能使用Vue的“独立”版本。但是,Vue的npm包的默认导出是“运行时构建”,它无法解析这样的templade代码。
此处提供更多信息:
https://vuejs.org/guide/installation.html#Standalone-vs-Runtime-only-Build