如何在YUI压缩后找到Firebug报告的解析错误?

时间:2013-09-22 06:25:56

标签: javascript yui-compressor

我有一个使用Javascript的网站。在我的家庭测试环境中,Javascript包含在许多不同的文件中。当我将文件上传到实际网站时,我使用Bash脚本来组合和压缩文件,以便整个网站更有效率。

首先,我使用cat组合Javascript文件:

cat list_of_javascript_files_to_combine.txt | xargs cat > combined_javascript_file.js

然后我使用YUI Compressor来压缩生成的Javascript:

java -jar yuicompressor-2.4.7.jar combined_javascript_file.js -o combined_javascript_file.js --charset utf-8

在我的本地测试环境中,在组合和压缩Javascript之前,它可以正常运行而不会报告任何错误。

然而,上传后,当我在Firebug中查看控制台时,我收到此错误:

SyntaxError: JSON.parse: unexpected character
...|0)}}this._yuifacade=true;this._event=z;this.pageX=t;this.pageY=w;x=z.keyCode||z...

问题是因为javascript被压缩,所有内容都在一条长行上,因此几乎不可能确定预压缩文件中的错误位置。而且,Firebug向我显示的代码片段实际上并不完全确定。当然,我已经搜索了显示的字符串部分,但它对我来说并不是错误的,而我用于调试的Netbeans并没有报告该代码所在位置的任何警告。

由于这个错误似乎只是在我压缩Javascript之后出现,我认为有一些关于压缩本身会导致麻烦。但是,根据设计,生成的压缩文件对于像我这样的人来说非常难以解析,使调试有点超出我的能力。

有没有办法可以缩小问题的范围,以便我可以修复它?

0 个答案:

没有答案