2017-03-19 22 views
5

Bir dosya oluşturmak istediğimde hata alıyorum. Bunun nedeni nedir? Görünüşe göre .vue dosyası web paketi tarafından tanınmıyor, ancak web paketi yapılandırma dosyası düzgün görünüyor. webpack hatasıVue - webpack vue loader yapılandırması

bundle-app.js 189 kB  1 [emitted] app 
    + 12 hidden modules 

ERROR in Unexpected token > 
@ ./app/application.js 7:11-31 

webpack.config.js

var path = require("path"); 

module.exports = { 
    context: path.join(__dirname, 'src'), 
    entry: { 
    app: './app/application.js' 
    }, 
    output: { 
    path: path.join(__dirname, 'dist'), 
    filename: 'bundle-[name].js' 
    }, 
    module: { 
    loaders: [ 
     { 
     test: /\.js$/, 
     loader: 'babel-loader', 
     include: /src/, 
     query: { 
      presets: ["es2015"] 
     } 
     }, 
     { 
     test: /\.vue$/, 
     loader: 'vue', 
     }, 
    ] 
    }, 
    vue: { 
    loaders: { 
     js: 'babel' 
    } 
    } 
} 

package.json

"devDependencies": { 
    "webpack": "~2.2.1", 
    "babel-core": "~6.23.1", 
    "babel-loader": "~6.3.1", 
    "babel-preset-es2015": "~6.22.0", 
    "sass-loader": "~6.0.0", 
    "node-sass": "~4.5.0", 
    "extract-text-webpack-plugin": "~2.0.0-rc.3", 
    "vue-template-compiler": "~2.2.4", 
    "css-loader": "~0.27.3", 
    "vue-loader": "~11.1.4" 
    }, 
    "dependencies": { 
    "vue": "~2.2.4" 
    } 
} 

uygulama/

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

new Vue({ 
    el: 'body', 
    component: { App } 
}) 

uygulama/app.vue

application.js
<template> 
    <div id="app"> 
    </div> 
</template> 

<script> 

    export default { 
     data() { 
     return { 
      msg: 'Hello from vue-loader!' 
     } 
     } 
    } 

+1

DENEMELİSİNİZ bu 'gibi görünür { "ön ayar": [ "es2015"], "Yorum": yanlış }' Daha fazla bilgi için lütfen buraya tıklayın https://github.com/bedakb/vuewp/blob/master/.babelrc Ayrıca vue uygulamasını body etiketine monte etmeyi de düşünmeyin, –

+0

@BelminBedak Yaptım, ama hata hala –

+1

Ah Webpack 2'yi kullandığınızdan, artık '-loader' anahtar sözcüğünü atlayamazsınız.Yükleyiciyi bu 'loader:' vue 'olarak değiştirmeyi deneyin:' vue-loader ' –

cevap

3

düzgün çalışması Yükleyici belden yapmanız gereken bazı ekstra yapılandırmaları vardır.

Kurulumun tamamı için vue-cli numaralı telefonu kullanmanızı tavsiye ederim. daki webpack.config.js, unuttuğunuz/yapılan hatalara Temelde

npm install -g vue-cli 
vue init webpack-simple hello 
cd hello 
npm install 
npm run dev 

:

1- Yükleyici adı loader: 'vue-loader' yerine loader: 'vue' olmalıdır.

2- içeriği, resolve adı verilen bir anahtar oluşturma:

alias: { 
    vue$: 'vue/dist/vue.common.js', 
} 

3- bu anahtar vue: ...loader: babel, gerekli değildir.

+1

Halihazırda çalışmakta olduğum webpack yapılandırma dosyasında birden çok giriş noktası var. Vue-cli ile yeni proje oluştururken daha büyük bir karmaşa yaratmak istemedim. Ancak gelecekteki projelerimi bu şekilde yapacağım. Obrigado :) –

+1

Vay! Bu şekilde çalışır mı? Garip. Her neyse, her şeyi yaratan bu araçları kullanmak için çok az endişeliyim, ama vue-cli durumunda, çok basit ve küçük. Bir demo klasöründe oluşturmayı deneyin ve webpack.config dosyasına bakın. –

+1

Seninki kesinlikle gitmek için bir yoldur. Ancak, eğer Vue + Webpack öğreticisinden geliyorsanız ve sadece 'vue-loader'ı denklemlere eklemek istiyorsanız, aşağıdakileri web paketi yapılandırmanıza eklemek yeterlidir: ' modülü: { yükleyiciler: [ { test : /\.vue$/, yükleyici: 'vue-loader', }, ] } ' Gerçekten de Vue belgelerinin neden bu kadar belirsiz olduğunu bilmiyorum ve 'vue'yu kullanmaya zorlar. NPM'nin modülleri kurması ve webpack konfigürasyonuna bazı satırları eklemesi kolaylık sağlar. –

0

ESLint ile vue-cli kullanıyor musunuz? Bunu yaparsanız, son ve noktalı virgüldeki her öğe olayından sonra bir virgül gerekir.

import Vue from 'vue'; 
import App from './app.vue'; 

new Vue({ 
    el: 'body', 
    components: { App }, 
}); 
1

Vue kullanan projelerde, bireyler webpack ve vue-loader'ı ayrı olarak yapılandırmanızı önermez. Doğrudan vue resmi iskele, vue-cli kullanabilirsiniz. Otomatik olarak yapılandırılmış bu yapılandırmaları dikkate almanız gerekmez.

Sadece Vue öğrenmeye başladıysanız, burada giriş seviyesi bir demo. Sadece küçük bir uygulama olmasına rağmen, ön uç, arka uç da dahil olmak üzere birçok bilgi noktasını (vue2.0 + vue-cli + vue yönlendirici + vuex + axios + mysql + express + pm2 + webpack) kapsar. , veritabanı ve diğer siteler Bazı önemli unsurları benim için, büyük bir önemlilik, birbirimizi teşvik etmek istiyorum! file.It .babelrc` `ayrılmış için es2015 ön ayar taşımak

Vue Demo

İlgili konular