文章目录

  • 一、前言
  • 二、问题分析
  • 三、问题解决
  • 四、拓展阅读

一、前言

Vue项目编译过程中,出现如下错误信息:

ERROR in static/js/vendor.f1c68aa2d5e85847d30e.js from UglifyJs
Unexpected token name «i», expected punc «;» [./node_modules/element-ui/src/utils/merge.js:2,0][static/js/vendor.f1c68aa2d5e85847d30e.js:17064,11]
Build failed with errors.

二、问题分析

我们知道,由于 UglifyJs 只支持 ES5element-ui 可能引入了一部分 ES6 的写法,所以导致 webpack 打包失败。所以出现此类问题的一般是由于 ES6 语法转换为 ES5 失败导致。

vue配置中,由于各插件版本兼容性差异可能会引发此问题的产生。UglifyJs是一款可以解析、混淆、压缩JS的工具,此处的UglifyJs是配置在脚手架/webpack中,运行在node环境中的小插件。
关于UglifyJs

  • uglify-js@3具有简化的APICLI,该APICLI不能向后兼容uglify-js@2
  • UglifyJS 2.x 版本的文档可以在这里找到。
  • Uglify-js 仅支持JavaScriptECMAScript 5)。
  • 要缩小ECMAScript 2015或更高版本,请使用Babel之类的工具进行转义。

三、问题解决

在深入查找问题所在后,决定用 bable 来解析 element-ui, 要完成此操作只需要修改前端文件夹下的build/webpack.base.conf.js 文件即可,修改如下:
修改前

module: {rules: [
...
{test: /\.js$/,loader: 'babel-loader',include: [resolve('src'), resolve('test')]
},

修改后:

module: {rules: [
...
{test: /\.js$/,// 对js文件使用babel-loader转码,该插件是用来解析es6等代码loader: 'babel-loader',//注意elementUI的源码使用ES6需要解析include: [resolve('src'), resolve('test'),resolve('/node_modules/element-ui/src'),resolve('/node_modules/element-ui/packages')]
},
...

以上配置将 element-ui 加入需要 babel 解析的包中。

之后再次执行 npm run build,成功。

四、拓展阅读

  • 《Vue进阶(五十一): vue-cli脚手架build目录中的webpack.base.conf.js配置文件》
  • 《Vue进阶(五十二):vue-cli脚手架build目录中的webpack.dev.conf.js配置文件》
  • 《Vue进阶(五十三):vue-cli脚手架build目录中的webpack.prod.conf.js配置文件》
  • 《Vue进阶(五十四):vue-cli脚手架build目录中的dev-server.js配置文件》
  • 《Vue进阶(五十五):vue-cli脚手架build目录中的build.js配置文件》
  • 《Vue进阶(五十六):vue-cli脚手架build目录中的karma.conf.js配置文件》
  • 《Vue进阶(幺零八):npm run build 错误 (node:7852) UnhandledPromiseRejectionWarning: CssSyntaxError:xxxx. 解决分析》

Vue进阶(幺捌柒):vue项目build报错的解决办法(ERROR in static/js/***.js from UglifyJs)相关推荐

  1. vue 安装不上,报错,解决办法如下

    vue 安装不上,报错,解决办法如下 前言: vue安装问题就能难倒一拨人,还没等开发呢,就先退下了,看看解决办法,加速学习~~ 安装vue 安装命令 npm install -g @vue/cli ...

  2. 图解Myeclipse 导入Java Web项目报错的解决办法听语音

    图解Myeclipse 导入Java Web项目报错的解决办法听语音 https://jingyan.baidu.com/article/046a7b3e953ef3f9c27fa93d.html

  3. VUE安装sass-loader运行报错的解决办法

    在搭建vue的过程中,在搭建使用sass需要安装sass-loader,很多人这里会遇到很多问题,但是如果第一次安装就报错的话一般是版本的问题导致的.另外也有可能就是版本和其他不匹配也会出现安装不对, ...

  4. Android项目Build报错Unable to execute dx(65535问题解决方案)

    2019独角兽企业重金招聘Python工程师标准>>> 问题描述:Android项目引入过多的第三方包时,在编译成dex文件的时候,单个dex文件中的方法总数超过了65535个,此时 ...

  5. 前端项目里常见的十种报错及其解决办法

    错误一:Uncaught TypeError: Cannot set property 'onclick' of null at operate.js:86 图片.png 原因: 当js文件放在hea ...

  6. Pycharm连接远程服务器、使用Pycharm运行深度学习项目、Pycharm使用总结以及Pycharm报错和解决办法

    Pycharm连接远程服务器,使用Pycharm运行深度学习项目以及Pycharm的使用总结 文章目录 Pycharm连接远程服务器,使用Pycharm运行深度学习项目以及Pycharm的使用总结 前 ...

  7. Error:java: Annotation processing is not supported for module cycles.项目启动报错 异常解决

    项目在启动时报如下Error错误的原因是:Maven项目中各模块module之间产生了循环依赖,因此在启动运行时就会产生循环依赖的问题,此时需要查看报错信息中显示对应模块的pom.xml,排查删除其中 ...

  8. 【转】】Vue项目部署tomcat,刷新报错404解决办法

    转自[https://blog.csdn.net/g631521612/article/details/82835518] 解决方式: - 在tocmat的webapps下的项目中创建WEB-INF文 ...

  9. idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...

最新文章

  1. 1112. Stucked Keyboard (20)
  2. 保留字(reserved field)是什么意思?
  3. 开源 java CMS - FreeCMS2.6 Web页面信息采集
  4. BZOJ 2818 Gcd
  5. 一台机器起多个filebeat_全自动多色丝印机一台多少钱?
  6. table单元格样式
  7. java基本语法 2017_Java基本语法——(用于日后复习)
  8. (C#)xml的简单理解创建和读取
  9. canvas 文字颜色_一篇图文学会HTML5的canvas标签,直线曲线文字渐变,统统可以有...
  10. iframe加载完成后操作contentDocument
  11. 计算2+22+222
  12. Windows10 添加开始菜单未显示应用到磁贴的方法
  13. 码破苍穹:空指针的传说
  14. Python学习模块 Pygame写游戏二(太空大战)
  15. 中国有多少个省?多少个地级市?多少个县?多少个乡镇?一张统计表全部搞定。多关注民政部的信息吧^_^
  16. 靶机渗透练习25-Funbox4-CTF
  17. FVCOM离线拉格朗日配置
  18. 用计算机弹出记事本,win7电脑开机就会弹出Desktop.ini记事本怎么办?
  19. MEM/MBA 写作-论证有效性分析(09)逻辑缺陷-误用百分数滑坡谬误
  20. SAP SM30实现表关键字段自增

热门文章

  1. Java多线程之常见锁策略与CAS中的ABA问题
  2. 中国联通5G规划路线图曝光:年内完成关键技术布局
  3. MATLAB绘制局部放大图
  4. .linux开发-服务器软件(12) 姚军权的服务器资料,还不错,很多关于iocp 与epoll
  5. 【常用模块】ESP8266 WIFI串口通信模块使用详解(实例:附STM32详细代码)
  6. 平面设计师都在用的设计素材网站,免费下载~
  7. Nt*和Zw*系列函数的区别
  8. Python爬虫之Selenium爬取途牛全国的酒店数据进行地图可视化
  9. 一阶数字低通滤波器-C语言/matlab实现
  10. 计算机网络实验思科实验报告,计算机网络思科综合性实验报告