Vue.js 迁移到 2.0 : Failed to mount component: template or render function not defined.(在根实例中找到)

标签 vue.js

//编辑:我想我已经解决了问题。我需要来自 vue 的独立构建...

我已经将我的 vue.js 1.0 应用程序迁移到 vue.js 2.0(使用迁移助手)。但是这个错误显示在控制台 Failed to mount component: template or render function not defined. (在根实例中找到)

这是我简化的 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 文件(这里没有什么特别的)。

我的 ´router-view` 是在 laravel.blade 文件中定义的

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

最佳答案

对于初学者,您不能在 Vue 2.0 中挂载到 body 元素。

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

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

可以工作,但只适用于 Vue 的“独立”版本。但是,Vue的npm包默认导出的是“runtime build”,无法解析这样的模板代码。

更多信息在这里:

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

关于Vue.js 迁移到 2.0 : Failed to mount component: template or render function not defined.(在根实例中找到),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39890005/

相关文章:

javascript - 将类添加到插槽范围

vue.js - 我如何填充 axios 获取数据数组并将其传递给 Vuejs 组件 Prop 以在组件中进行列表渲染

javascript - 在 Vue 网格中单击特定项目时添加类

javascript - 如何为使用 Vuex 存储的 Vue 表单组件编写 Jest 单元测试?

javascript - 在没有插值的情况下在 vue 2 模板中设置部分属性(用于超赞字体图标)的解决方法?

vue.js - 如何在 VueJS 中外部触发下拉菜单的 react 性

vue.js - 如何为 Vue 项目指定有效的入口点/文件?

javascript - Vue.js,v-for 上的间隔计时器

php - Laravel 6 和 Vue.js 使用 vue-router 和 axios 更新子组件的记录

javascript - 按标题对 api 结果进行分组