C#如何识别缩小的JavaScript?

时间:2015-03-29 16:21:44

标签: javascript c# minify

我只是在C#应用程序中读取JavaScript文件,我需要知道JavaScript文件是否缩小。 我能想到的唯一方法是计算以下比率,

缩小比率=换行数/ FileSize

因此,在非缩小文件中,此值会更高,而在缩小的文件中,它会更小(可能小于1)。

有没有更好的方法呢?

感谢。

1 个答案:

答案 0 :(得分:0)

UglifyJS2包含--beautify等选项,用于保留新行,正确的方法是使用正则表达式作为Paul S建议或JInt的解析器,JavascriptParser.cs

使用正则表达式查找function\((?<var>([a-z][a-z0-9]*)(,|\)并检查所有var组的长度是否都非常小。您可以检查,根据变量长度声明的变量总数。

如果您想要更高级的版本,那么您可以使用JInt的JavaScriptParser,它提供了抽象语法树,您可以在其中识别以下检查。

  1. 平均函数参数字符串长度小于2,因为所有函数都定义为函数(a,b,c)......
  2. 你遇到了!0或1而不是&#39; true&#39;和!布尔比较表达式中的1或0而不是false。
  3. 其他常见的缩小表达式,例如大部分周围的eval。