2016-10-06 44 views
2

//編輯:我想我已經解決了這個問題。我需要由vue獨立構建...將Vue.js遷移到2.0:無法裝入組件:未定義模板或渲染功能。 (在根實例中找到)

我已將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文件,模板和腳本(沒有什麼特別在這裏)。

我'router-view`是在laravel.blade文件

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

回答

10

對於初學者定義,你不能安裝到body元素在Vue公司2.0。

另外,如錯誤消息所述,您還沒有提供模板或渲染函數。

我假設(因爲你沒有顯示)你有模板標記直接在HTML頁面。

This can work,but only with the「standalone」version of Vue。但是,Vue的npm包的默認導出是「運行時構建」,它不能分析這樣的templade代碼。

進一步的信息在這裏:

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

+0

我告訴他,他所需要的獨立包,以及Vue.js鏈接的文檔,這也解釋瞭如何做到這一點。這不算數嗎?我真的必須拼出來嗎? (嚴肅的問題,不是100%熟悉SO規則/網絡禮儀) –

+0

對不起,之前誤解了。你在這裏很好。刪除我以前的評論。 – david30xie

相關問題