Vue+webpack,系统告诉我"Module build failed: TypeError: this._init is not a function"



我不知道怎么解决,我一直搜索了太多信息,所有人都告诉我我不安装 npm 模块,但我的"package.json"文件已经安装了它们。

我已经安装了所有 npm 模块

dependencies": {
"babel-core": "^6.22.1",
"babel-loader": "^6.2.10",
"babel-plugin-transform-runtime": "^6.22.0",
"babel-preset-es2015": "^6.22.0",
"babel-runtime": "^6.22.0",
"css-loader": "^0.26.1",
"style-loader": "^0.13.1",
"vue": "^2.1.10",
"vue-hot-reload-api": "^2.0.8",
"vue-html-loader": "^1.2.3",
"vue-loader": "^10.3.0",
"vue-template-compiler": "^2.1.10",
"webpack": "^2.2.1",
"webpack-dev-server": "^2.3.0"}

其他文件
webpack.config.js

module.exports={
entry:'./main.js',
output:{
    path:__dirname,
    filename:'build.js'
},
module:{
    loaders:[
        {test:/.vue$/, loader:'vue'},
        {test:/.js$/, loader:'babel-loader', exclude:/node_modules/}
    ]
}};

主.js

import Vue from 'vue'
import App from './App.vue'
new Vue({
    el:'body',
    components:{
        app:App
    }
});

App.vue

<template>
    <h1>welcome Vue</h1>
</template>
<script type="text/javascript"></script>
<style type="text/css"></style> 

和最终文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="bundle.js"></script>
</head>
<body>
<div id="app">
    <app></app>
</div>
</body>
</html>

当我启动 webpack-dev-server 时,shell 告诉我类型错误: this._init 不是函数

(PS:我的英语不好,所以...

我已经解决了这个问题,在"webpack.config.js"文件中

{test:/.vue$/, loader:'vue'}

更改为

{test:/.vue$/, loader:'vue-loader'}

因为我使用的是 vue 2.0 版本。

webpack.config.js 中的行应该是全名:

{test:/.vue$/, loader:'vue-loader'},

最新更新