views:

292

answers:

3

I'm combining multiple js files using YUI Compressor. The command works successfully and outputs a combined file properly.

When I point my page to it, however, it doesn't seem to be read properly and I get this error in the Javascript error console.

YAHOO is not defined

I've tried using the --nomunge and --preserve-semi options but still get the same error.

Any ideas?

+2  A: 

are you sure you're including the yahoo YUI js file before your script? the variable YAHOO is defined within yui.js, so that script needs to exist and be loaded before you attempt to run any javascript that uses it.

ithcy
A: 

Dave,

Hard to know what the problem is without a link to the compressed file.

You may also want to post those links to the dedicated YUI Compressor discussion forum on YUILibrary.com:

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

Compressor's developers are there, as well as an interested community of fellow implementers.

-Eric

Eric Miraglia
A: 

Did you try to jslint your code?

It may help you detect JS errors
It can usually be integrated in your IDE(I use Textmate), and warn you when you save your js file.

A poor man option is to use the online one at: http://www.jslint.com

Another option is to use a softer compression tool like jsmin to debug the problem. One is hosted here You compress your files. Run your app, and usually your JS debugger will show you the problem.

Mic