我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的一些配置项)