Failed to minify the bundle Error from Uglifyjs 记一次打包压缩报错

发布于 / 学习

前言

  • 今天刚写完一个需求准备打包测试,眼看着进度快跑满了啪的一下给我来了一个错,如下图:

简单分析

  • Failed to minify the bundle看了下大概的错讲的应该是压缩代码报错了,而Uglifyjs确实也是webpack打包压缩的插件。
  • 看下一行,大概讲的是index.295edf21.js文件的第264048行报的错。找到我们打出的包的文件夹

  • 使用nodepad++打开找到相应行数

  • 看出这里讲的是一个arrayMoveMutate函数,回想一下今天好像装了一个array-move的包。既然是这里报的错,那么先手动将这个包移除重新打包,发现可以成功


  • 打包成功了,但是当时使用这个包是为了解决数组内数据移动的操作所引入的一个包,为了解决这个问题手动将这个arrayMoveMutate arrayMove函数复制到我们的工具函数内,直接使用,再次打包发现可以使用。

为什么?

  • 找到问题了,但是为什么会出现这个错呢,我们手动打开该模块,发现代码很简单就是我们上面复制的两个方法,但是问题是他的这个包是使用commonJs规范编写的

  • 查看该库的issues发现作者也是这样回应的Leaking ES6 code to ES5 bundle,这个模块针对nodejs开发,浏览器中如果使用必须使用babel编译后进行使用。

补充

本文采用 CC BY-NC-SA 3.0 Unported 协议进行许可
本文链接: https://www.ahwgs.cn/webpack-failed-uglifyjs-error.html