簡體   English   中英

Vue-Webpack Vue加載程序配置

[英]Vue - webpack vue-loader configuration

每當我要構建文件時,我都會不斷收到錯誤消息。 是什么原因呢? 似乎webpack無法識別.vue文件,但webpack配置文件看起來正確。 webpack錯誤

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"
  }
}

app / application.js

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

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

app / app.vue

<template>
  <div id="app">
  </div>
</template>

<script>

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

您需要做一些額外的配置,以使加載程序正常工作。

我強烈建議您使用vue-cli進行設置,一切正常。

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

基本上,在webpack.config.js ,您忘記/犯了以下錯誤:

1-加載程序名稱應為loader: 'vue-loader'而不是loader: 'vue'

2-創建一個名為resolve的鍵,其內容為:

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

3-而且這個關鍵點vue: ...loader: babel ,不是必需的。

在使用vue的項目中,個人不建議單獨配置webpack和vue-loader。 您可以直接使用vue官方腳手架vue-cli。 不必考慮自動配置的這些配置。 Vue-Cli

如果您剛剛開始學習Vue,這是入門級演示。 盡管它只是一個小型應用程序,但它涵蓋了很多知識點(vue2.0 + vue-cli + vue-router + vuex + axios + mysql + express + pm2 + webpack),包括前端,后端,數據庫和其他站點一些必要的元素,對我來說,學習意義重大,謹互相鼓勵!

Vue演示

您是否在ESLint中使用vue-cli? 如果這樣做,則在最后一個和分號中的每個元素事件之后都需要一個逗號。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM