gpt4 book ai didi

JavaScript 压缩器输出换行而不是分号 - 基于 Windows

转载 作者:行者123 更新时间:2023-11-28 09:18:15 25 4
gpt4 key购买 nike

我们希望行号在客户端 JavaScript 发生异常时有用。理想的解决方案是理解 ASI(自动分号插入)规则,即语法感知而不是基于 RegExp/文本。

我发现的最接近的是 UglifyJS2,其分号选项设置为 false。 [编辑:UglifyJS2 还需要将最大行长度选项设置为较低值,并且可能未勾选序列选项,否则它仍然会生成长行,例如1000 个字符长]。

PS:我们必须使用 Windows 来进行构建过程(由于各种原因而被锁定),并且我们的构建脚本已经依赖于 Python 和 Java(JS 的closurecompiler、CSS 的 yuicompressor、用于将图像嵌入 CSS 的 cssembed)和我我真的不想添加另一个构建过程依赖项(Node、Ruby 或 Web 服务等),而且我强烈不喜欢使用 RegExp 解决方案,因为我认为文本处理对于可靠的生产解决方案来说太脆弱了。

PPS:我不想依赖源映射,因为它们要复杂得多(跨浏览器问题、内部和客户端支持问题、管理和查找正确源映射的困难)。

PPPS:对行号提出新要求的原因是我们开始使用 https://github.com/getsentry/raven-js如果异常的行号有用,它将是最有用的。我们的客户端代码是单页 Ajax/json 应用程序。理论上,使用换行符而不是分号对 gzip 大小的改变很小。

最佳答案

UglifyJS2 是我发现的唯一可以在以下设置下正常工作的解决方案:

  • 分号选项设置为 false
  • 最大行长度选项设置为相当低的值
  • 未勾选序列选项

行长度的选择涉及到一种折衷:较短的行长度更适合诊断异常发生的位置,但当您减少行长度时,gzip 大小会略有增加。

关于JavaScript 压缩器输出换行而不是分号 - 基于 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com