vue+element-ui打包时候出现 UglifyJs Unexpected token: punc 问题

昨天在打包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')]
      },
      ...

猜你喜欢

转载自blog.csdn.net/hayre/article/details/77231568