2016-10-06 13 views
2

//編集:私は問題が解決したと思います。私はvueからスタンドアロンのビルドが必要でした...Vue.js 2.0への移行:コンポーネントのマウントに失敗しました:テンプレートまたはレンダリング関数が定義されていません。 (ルートインスタンスにあります)

私はvue.js 2.0(移行ヘルパー付き)に私のvue.js 1.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

で定義されている、あなたはVueの2.0にbody要素にマウントすることはできません。

また、エラーメッセージが示すように、テンプレートまたはレンダー機能を提供していません。

HTMLページに直接テンプレートマークアップがあるとします。

Vueの「スタンドアロン」バージョンでのみ動作します。しかし、Vueのnpmパッケージのデフォルトのエクスポートは、そのようなテンプレートコードを解析できない "実行時ビルド"です。

ここに詳しい情報:

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

+0

私は彼が、スタンドアロンパッケージ、およびそれを行う方法について説明しVue.js、のためのリンクのドキュメントを必要としていることを彼に告げました。それは数えませんか?私は実際にそれを綴る必要がありますか? (深刻な問題、100%のSOルール/ネチケットに精通していない) –

+0

申し訳ありません、前に誤解されています。あなたはここで良いです。前のコメントを削除する。 – david30xie

関連する問題

 関連する問題