2016-09-26 3 views
0

So versuche ich eine vue Datei zu kompilieren. Aber ich bekomme den folgenden Fehler enter image description hereWebpack kann Modulfehler nicht beheben

und ich weiß nicht warum. Meine main.js Datei enthält folgende

// Vue things 
import Vue from 'vue' 
import VueResource from 'vue-resource' 
Vue.use(VueResource) 


// Vue Components 
import dashboard from 'components/dashboard-component' 

new Vue({ 
    el: "body", 
    components: { 
     dashboard 
    }, 
    methods: { 
    } 
}) 

und meine Komponenten-Ordner ist in dem gleichen Ordner wie main.js. Das ist meine vue Komponente:

<template> 
Hello 
</template> 

<script> 
// Exports 
export default { 
    components: { 
     dashboard 
    }, 
    props: { 
    }, 
    data: function (argument) { 
    }, 
    ready() { 
    }, 
    methods: { 
    } 
} 
</script> 

, die unter Komponenten/Armaturenbrett-Komponente als index.vue ist.

Was mache ich falsch?

Vielen Dank.

Antwort

1

Sie müssen Vue-Dateien importieren. So müssen Sie Ihre Komponente components/Dashboard/Dashboard.vue speichern und importieren Sie es in etwa so:

import Dashboard from './components/Dashboard/Dashboard.vue' 

new Vue({ 
    el: "body", 
    components: { 
     Dashboard 
    }, 
    methods: { 
    } 
}) 

Sie die ./ vor dem components Ordner, damit diese nicht vergessen

+0

Nun heißt es: 'ERROR in ./view/vue/components/dashboard/dashboard.vue. Modulerstellung faild: TypeError: this._init ist keine Funktion' und ich habe keine Funktion namens '_init' in' dashboard.vue' – southpaw93

+1

Versuchen Sie, die folgenden Abhängigkeiten zu installieren: 'npm install --save vue vue-loader vue-html-loader css-loader style-loader babel-loader babel-core babel-plugin-transform-laufzeit babel-preset-es2015 babel-laufzeit vue-hot-reload-api' dies ist ein fehler in github-ausgaben gemeldet: https : //github.com/vuejs/vue-loader/issues/23 – Hammerbot

+0

es hat funktioniert, erstaunlich, danke! – southpaw93

1

Für convinient arbeiten, würde ich gewohnt hinzufügen .vue aufzulösenden Erweiterungen Array, und legen Sie Alias ​​für Verzeichnisse, die häufig verwendet werden würde:

resolve: { 
    extensions: ['', '.js', '.vue'], 
    fallback: [path.join(__dirname, '../node_modules')], 
    alias: { 
    'data': path.resolve(__dirname, '../data'), 
    'src': path.resolve(__dirname, '../src'), 
    'assets': path.resolve(__dirname, '../src/assets'), 
    'views': path.resolve(__dirname, '../src/views'), 
    'components': path.resolve(__dirname, '../src/components') 
    } 
}, 

Also ich import dashboard from 'components/dashboard-component'; in meinem Projekt verwenden können.

Verwandte Themen