1

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

首先,我使用以下方式组合 Javascript 文件cat

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 后出现,因此我认为压缩本身存在一些问题。然而,根据设计,生成的压缩文件对于像我这样的人来说真的很难解析,这使得调试有点超出了我的能力。

有没有办法可以缩小问题的范围以便我可以解决它?

4

0 回答 0