vue-cli的.babelrc要单独弄出来,如果直接写到webpack.base.conf.js会出问题?

我vue init webpack xxx然后改了package.json,
把babel-preset-env改成2.0.0-alpha.16,加入babel-polyfill的^7.0.0-beta.1版本,把stage哪些去掉(2.x以上的env很特别哦)。
加上babel-plugin-syntax-dynamic-import和babel-plugin-transform-object-rest-spread插件。。。

然后呢,npm run build没问题,我把babel-loader的配置项直接写到webpack.base.conf.js里面,把.babelrc删了。
代码部分是这样的:`{

            test: /\.js$/,
            loader: 'babel-loader',
            include: [resolve('src'), resolve('test')],
            query: {
                presets: [
                    ['env', {
                        useBuiltIns: 'usage',
                        modules: false,
                        targets: {
                            browsers: ["> 1%", "last 2 versions"]
                        },
                        loose: true
                    }]
                ],
                plugins: ['transform-object-rest-spread', 'syntax-dynamic-import']
            }
        },`

然后发现build报错,问题出在webpack.optimize.UglifyJsPlugin身上,注释掉压缩就没问题,而查找到代码是因为模版文件里面的代码:

export default {
        data() {
            return {
                name:'阿空'
            }
        }
    }

这代码居然不行,当然我马上知道大概什么问题了,于是改成

export default {
        data:function() {
            return {
                name:'阿空'
            }
        }
    }

就可以了,也就是es6的函数简写的语法居然编译不过?原因只是我把babel-loader的配置项放到里面了?
(为什么放到里面是因为我想动态改babel-loader的一些配置项)

阅读 1.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进