javascript - 从压缩文件中捕获JavaScript错误

标签 javascript error-handling compression minimization

我通过订阅window.onerror事件来捕获JS错误,因此,如果有人捕获到“ undefined variable ”错误,我会将其发送到服务器以进行调试。
如您所知,此事件在发生错误的地方返回“错误消息”,“url”和“line”。

问题出在压缩文件中。

如果文件被压缩,则所有代码都在一行中,要确定错误的确切位置是个大问题。

这个问题有什么解决办法吗?

最佳答案

JavaScript压缩器通常做两件事:

  • 删除所有不必要的空格(在语法有效性方面为“不必要”)。
  • 尽可能缩短变量名。这适用于局部变量,即那些不在全局范围或对象成员中的变量。

  • 还有其他一些优化,例如函数内联,但是这些优化通常不会出现问题。

    关于第一点,您可以通过许多JavaScript source formatters中的一个来运行代码。这应该为您提供了一个易于阅读的JavaScript文件。

    至于第二点,混淆通常是不可逆的。如果将诸如widthheight或其他名称的“口语”变量名称更改为ab,则您一开始就无法知道它们的含义。

    如果此问题适用于开放源代码产品,则通常可以下载源代码并尝试使用它们来重构问题。

    如果源代码是封闭的,并且仅“美化”代码没有帮助,则必须向供应商编写错误报告。

    关于javascript - 从压缩文件中捕获JavaScript错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25852498/

    相关文章:

    python - 将位串转换为字节(霍夫曼编码)

    android - Android 上的快速视频压缩

    javascript - 全局导入 ionic 框架 Angular

    javascript - 如何获取二级Json值

    javascript - 减少谷歌加号按钮的页面重量

    javascript - 如何检查 TD 是否是行中类(class)的最后一个

    error-handling - 什么属于 DLQ/无效消息队列?

    error-handling - 突然我得到 "Error : $ operator is invalid for atomic vectors"

    c# - (错误 : System. 格式异常已被抛出。 "Input was not in correct format")

    sharepoint - 如何在编辑后重新压缩由 stsadm export 命令创建的 .cmp 文件