1

我正在使用 YUI Compressor 组合多个 js 文件。该命令成功运行并正确输出组合文件。

但是,当我将我的页面指向它时,它似乎没有被正确读取,并且我在 Javascript 错误控制台中收到此错误。

YAHOO is not defined

我试过使用 --nomunge 和 --preserve-semi 选项,但仍然得到同样的错误。

有任何想法吗?

4

3 回答 3

3

你确定你的脚本之前包含了 yahoo YUI js 文件吗?变量 YAHOO 是在 yui.js 中定义的,因此在您尝试运行任何使用它的 javascript 之前,该脚本需要存在并被加载。

于 2010-01-22T16:10:58.350 回答
0

戴夫,

如果没有压缩文件的链接,很难知道问题出在哪里。

您可能还想将这些链接发布到 YUILibrary.com 上专门的 YUI Compressor 讨论论坛:

http://yuilibrary.com/forum/viewforum.php?f=94

Compressor 的开发人员以及感兴趣的实施者社区都在那里。

-埃里克

于 2010-01-22T18:29:03.260 回答
0

您是否尝试过 jslint 您的代码?

它可以帮助您检测 JS 错误
它通常可以集成在您的 IDE(我使用 Textmate)中,并在您保存 js 文件时警告您。

一个穷人的选择是使用在线的: http: //www.jslint.com

另一种选择是使用更软的压缩工具,如 jsmin 来调试问题。一个托管在这里 你压缩你的文件。运行你的应用程序,通常你的 JS 调试器会告诉你问题。

于 2010-01-22T20:01:39.643 回答