昨天在打包vue+element-ui打包项目时出现了
ERROR in static/js/vendor.1c5ad0ffe5abfcdf0af6.js from UglifyJs
Unexpected token: punc (() [./~/.1.4.2@element-ui/packages/row/src/row.js:24,0][static/js/vendor.1c5ad0ffe5abfcdf0af6.js:11183,9]
问题
以前一直使用vue的手脚架进行打包生成,一直好好的,不知道为什么两个月没打就出现了这个问题。
百度之。
发现是UglifyJs无法解析ES6的问题,而在1.4.2 element-ui的包估计有ES6的语法,所以才导致打包失败,找了很久之后,找到一个解决方法,就是在打包时,让babel去解析失败的包
修改
-build
--webpack.base.conf.js
找到解析js的module:
原来:
module: {
rules: [
...
{
test: /\.js$/,
loader: 'babel-loader',//注意elementUI的源码使用ES6需要解析
include: [resolve('src'), resolve('test')]
},
...
修改后
module: {
...
{
test: /\.js$/,
loader: 'babel-loader',//注意elementUI的源码使用ES6需要解析,注意,这里不要直接复制,还需要改element ui对应的版本号
include: [resolve('src'), resolve('test'),resolve('/node_modules/.1.4.2@element-ui/src'),resolve('/node_modules/.1.4.2@element-ui/packages')]
},
...