Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Webpack 网页包vue错误_Webpack_Babeljs_Vue.js - Fatal编程技术网

Webpack 网页包vue错误

Webpack 网页包vue错误,webpack,babeljs,vue.js,Webpack,Babeljs,Vue.js,我在全球安装了webpack,在本地安装了vue和Loader,并尝试在全球安装它们。当我运行webpack时,我不断收到此错误 Module parse failed: /Users/joebob/Development/vue-test/node_modules/babel-loader/index.js!/Users/joebob/Development/vue-test/src/main.js Line 1: Unexpected token You may need an approp

我在全球安装了webpack,在本地安装了vue和Loader,并尝试在全球安装它们。当我运行webpack时,我不断收到此错误

Module parse failed: /Users/joebob/Development/vue-test/node_modules/babel-loader/index.js!/Users/joebob/Development/vue-test/src/main.js Line 1: Unexpected token
You may need an appropriate loader to handle this file type.
| import Vue from 'vue';
main.js

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

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

module.exports = {
    entry: './src/main.js',
    output: {
        path: './dist',
        publicPath: 'dist/',
        filename: 'build.js'
    },
    module: {
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel',
                exclude: /node_modules/
            },
            {
                test: /\.vue$/,
                loader: 'vue'
            }
        ]
    },
    vue: {
        loaders: {
            js: 'babel'
        }
    }
}
package.json

{
    "name": "vue-test",
    "version": "1.0.0",
    "dependencies": {
        "vue": "^1.0.16"
    },
    "devDependencies": {
        "babel-core": "^6.1.2",
        "babel-loader": "^6.1.0",
        "babel-plugin-transform-runtime": "^6.1.2",
        "babel-preset-es2015": "^6.1.2",
        "babel-preset-stage-0": "^6.1.2",
        "babel-runtime": "^5.8.0",
        "webpack": "^1.12.2",
        "css-loader": "^0.23.0",
        "style-loader": "^0.13.0",
        "vue-loader": "^7.3.0",
        "vue-html-loader": "^1.0.0",
        "vue-hot-reload-api": "^1.2.0"
    }
}

不确定我错过了什么

您错过了es-2015转型

在6.x之前,Babel默认启用了某些转换。但是,Babel6.x没有启用任何转换。您需要明确地告诉它要运行哪些转换。最简单的方法是使用预设,如ES2015预设。您可以使用安装

npm install babel-preset-es2015 --save-dev
然后设置babel loader以使用它:

配置:

module.exports = {
    entry: './src/main.js',      
    output: {              
        path: './dist',
        publicPath: 'dist/',
        filename: 'build.js'
    },
    module: { 
        loaders: [
            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/
                query: {
                  presets: ['es2015']
                }
            },
            {
                test: /\.vue$/,
                loader: 'vue'
            }
        ]
    },
    vue: {
        loaders: {
            js: 'babel'
        }
    }
}
参考:


您使用的是哪个版本的巴别塔?你能发布你的package.json吗?更新为package.jsonAh是的,预设,我错过了我的.babelrc-u2;-谢谢。