2016-09-14 24 views
22

Vue (^ 2.0.0-rc.6) + Browserify, प्रवेश बिंदु index.js है का उपयोग करना:वू जेएस 2.0 कुछ भी प्रस्तुत नहीं कर रहा है?

import Vue from 'vue' 
import App from './containers/App.vue' 

new Vue({ // eslint-disable-line no-new 
    el: '#root', 
    render: (h) => h(App) 
}) 

App.vue:

<template> 
    <div id="root"> 
    <hello></hello> 
    </div> 
</template> 

<script> 
import Hello from '../components/Hello.vue' 
export default { 
    components: { 
    Hello 
    } 
} 
</script> 

<style> 
body { 
    font-family: Helvetica, sans-serif; 
} 
</style> 

Hello.vue:

<template> 
    <div class="hello"> 
    <h1>\{{ msg }}</h1> 
    </div> 
</template> 

<script> 
export default { 
    data() { 
    return { 
     msg: 'Hello Vue!' 
    } 
    } 
} 
</script> 

खाली सफेद स्क्रीन, क्या मुझे कुछ याद आया?

संपादित करें:

प्रविष्टि एचटीएमएल सिर्फ <div id="root"></div>, कंसोल लॉग पर कोई त्रुटि है, और मैं यकीन है कि Hello.vue console.log('test') उस फ़ाइल कंसोल पर दिखाई देता है के बाद से भरी हुई है हूँ।

संपादित करें 2:

[Vue warn]: You are using the runtime-only build of Vue where the template option is not available. Either pre-compile the templates into render functions, or use the compiler-included build. (found in anonymous component - use the "name" option for better debugging messages.)

इसका मतलब मैं webpack समाधान का उपयोग करने है:

त्रुटि मिला? मानक एचटीएमएल का उपयोग नहीं कर सकते?

समाधान: 'Vue/जिले/vue.js'

+2

बस सुनिश्चित करने के लिए। वेबपैक का उपयोग करते समय, 'vue/dist/vue.js' के बजाय वेब आयात कॉन्फ़िगरेशन को बदलने के लिए इसकी अनुशंसा की जाती है https://github.com/vuejs/vue/wiki/Vue-2.0-RC-Starter-Resources # स्टैंडअलोन-बनाम रनटाइम-बिल्ड –

+0

समाधान के साथ उत्तर दें और इसे स्वीकार करें, कृपया –

+0

यदि आपने अपने प्रश्न का उत्तर दिया है तो आप या तो नीचे दिए गए उत्तर को पोस्ट कर सकते हैं और इसे स्वीकार कर सकते हैं, या अपना प्रश्न हटा सकते हैं। हम – j08691

उत्तर

25

बस जीवन जवाब की तलाश में लोगों के लिए आसान बनाने के लिए से आयात Vue:

import Vue from 'vue/dist/vue.js' 
import App from './App.vue' 

new Vue({ 
    el: '#app', 
    render: h => h(App) 
}) 

लेखक से - 2.0 स्टैंडअलोन बिल्ड का मतलब है (कंपाइलर + रनटाइम)। एनपीएम पैकेज का डिफ़ॉल्ट निर्यात केवल रनटाइम होगा, क्योंकि यदि एनपीएम से स्थापित किया जा रहा है, तो संभवतः आप बिल्ड टूल के साथ टेम्पलेट को पूर्व-संकलित करेंगे।

+7

दस्तावेज़ों से: "नोट: आयात करें 'vue/dist/vue' से आयात करें - चूंकि कुछ टूल या तृतीय पक्ष लाइब्रेरी भी आयात कर सकते हैं, इससे ऐप को रनटाइम दोनों लोड हो सकता है और स्टैंडअलोन एक ही समय में बनाता है और त्रुटियों का कारण बनता है। " https://github.com/vuejs/vue/wiki/Vue-2.0-RC-Starter-Resources#standalone-vs-runtime-builds –

+1

हाँ, गंभीर रूप से एक सारणीबद्ध नाम का उपयोग करें, बजाय किसी तृतीय-पक्ष lib की पथ को हार्डकोड करना उस। यदि आपका लोडर इसका समर्थन नहीं करता है, तो बेहतर लोडर प्राप्त करें। –

21

यदि आप ब्राउज़र या वेबपैक जैसे निर्माण उपकरण का उपयोग कर रहे हैं, तो आप शायद ऐसी त्रुटियों से बचने के लिए single file components का उपयोग कर सकते हैं (एकल फ़ाइल घटकों में टेम्पलेट स्वचालित रूप से कार्यों को प्रस्तुत करने के लिए संकलित किए जाते हैं)। आपको निश्चित रूप से कहीं और टेम्पलेट से बचने की कोशिश करनी चाहिए। उनसे बचने के तरीके के उत्तर के लिए फोरम और दस्तावेज़ीकरण की जांच करें।

लेकिन मुझे अपने अनुभव से पता है कि आपकी परियोजना में टेम्पलेट्स ढूंढना हमेशा आसान नहीं होता है, जो त्रुटि संदेश उत्पन्न कर रहे हैं। आप एक ही समस्या हो रही है, एक अस्थायी समाधान के रूप में, निम्नलिखित की मदद करनी चाहिए:

आप आयात नहीं करना चाहिए 'Vue/जिले/vue.js' (जाँच प्रलेखन: https://github.com/vuejs/vue/wiki/Vue-2.0-RC-Starter-Resources#standalone-vs-runtime-builds क्यों नहीं)

इसके बजाय आप उस उपकरण को संभालना चाहिए जिसे आप उपयोग कर रहे हैं।

मेरे मामले में, मैं ब्राउज़र का उपयोग कर रहा हूं जहां आप उपनाम बनाने के लिए उपनाम का उपयोग कर सकते हैं।अपने package.json फ़ाइल में निम्न जोड़ें:

{ 
    // ... 
    "browser": { 
    "vue": "vue/dist/vue.common.js" 
    } 
} 

Webpack उपयोगकर्ताओं के लिए यह लगता है आप अपनी config के लिए निम्नलिखित जोड़ने के लिए:

resolve: { 
    alias: {vue: 'vue/dist/vue.js'} 
}, 

अधिक जानकारी प्रलेखन में पाया जा सकता है: https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only

+1

Aliasify ब्राउज़रify का उपयोग कर मेरे लिए काम नहीं कर रहा था। मुझे लगता है कि नया दस्तावेज बस ब्राउज़र का उपयोग करके सुझाव देता है: { "vue": "vue/dist/vue.common.js" } 'https://vuejs.org/v2/guide/installation.html#Runtime -कंपलर-बनाम-रनटाइम-केवल और फिर मेरे टेम्पलेट्स दिखाए गए! – phocks

+0

कोई बता सकता है कि 'हल करें' संपत्ति क्या करती है और त्रुटि क्यों गायब हो जाती है? – Felipe

0

ब्रंच मैंने इस नियम को brunch-config.js में जोड़कर हल किया:

npm: { 
    aliases: { 
     vue: "vue/dist/vue.js" 
    } 
    } 

देख http://brunch.io/docs/config#npm

यह एक आंतरिक <template> के साथ एक Vue घटक निर्माण किया गया था:

<template> 
    <div> hello </div> 
</template> 

<script> 

export default { 
    name: 'Hello', 
    props: { 
    title: String, 
    }, 
} 
</script> 
संबंधित मुद्दे