javascript - vue单文件组件,script中怎么能使用es6的export语法?
黄舟
黄舟 2017-04-11 09:12:23
[JavaScript讨论组]

尝试用vue的单文件组件开发时,在script标签中使用export default时报错,项目已经安装了babel-loader和babel-preset-es2015,还是一直报错。

package.json
"devDependencies": {
    "babel-core": "^6.14.0",
    "babel-loader": "^6.2.5",
    "babel-plugin-component": "^0.4.3",
    "babel-preset-es2015": "^6.14.0",
    "css-loader": "^0.25.0",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.9.0",
    "html-loader": "^0.4.4",
    "html-webpack-plugin": "^2.22.0",
    "less": "^2.7.1",
    "less-loader": "^2.2.3",
    "style-loader": "^0.13.1",
    "url-loader": "^0.5.7",
    "vue-loader": "^9.7.0",
    "webpack": "^1.13.2",
    "webpack-dev-server": "^1.16.2"
  }
webpack.js
...
loaders: [
            {
                test: /\.html$/,
                loader: 'html-loader'
            },

            {
                test: /\.js$/,
                loader: 'babel-loader',
                exclude: /node_modules/,
                query: {
                    presets: ['es2015']
                }
            },

            {
                test: /\.vue$/,
                loader: 'vue'
            },
....
vue: {
    loaders: {
        js: 'babel'
    }
},
...
App.vue
<template>
    <p id="app">
        <transition name="fade" mode="out-in">
            <router-view class="view"></router-view>
        </transition>
    </p>
</template>

<script>
    export default {}
    // module.exports = {};
</script>

<style lang="less">
    body {
        margin: 0;
    }
</style>

报错:

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(3)
PHP中文网
module.exports = {
    devtool: 'eval-source-map',     //配置生成Source Maps,选择合适的选项
    entry: __dirname + "/src/main.js",   //唯一入口文件
    output: {
        path: __dirname,    // 打包后文件存放的地方
        filename: "bundle.js"            //打包后输出文件的文件名
    },
    module: {
        loaders: [
            {
                test: /\.js$/, 
                exclude: /node_modules/, 
                loader: 'babel',
            },
            {
                test: /\.vue$/,
                loader: 'vue'
            }
        ]
    },
    resolve: {
        alias: {
            vue: 'vue/dist/vue.js'
        }
    },
    babel: {
        presets: ['es2015']
    },
    devServer: {
        // contentBase: "./",//本地服务器所加载的页面所在的目录
        colors: true,//终端中输出结果为彩色
        historyApiFallback: true,//不跳转
        inline: true//实时刷新
    } 
}

注意

babel: {
        presets: ['es2015']
    },
怪我咯

官方例子都是 export default
所以你问的问题方向就不对。

PHPz

请问App.vue文件中1、 export default {}

2、module.exports = {};有的文档用1有的地方用2
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号