BC.
BC.

Reputation: 24948

How can I combine and compress multiple script and css files for production use?

I want to use YUI Compressor to combine and compress my css and js file sets when I compile my project. YUI Compressor only takes as input single files. I've tried using the following (Windows) commands to append to the output files, but strange characters appear in the output where appendage occurs. How can I use windows command line or powershell to achieve this?

java -jar yuicompressor-2.4.2.jar --charset utf-8 jquery-1.3.2.js > scripts-all.min.js
java -jar yuicompressor-2.4.2.jar --charset utf-8 jquery.superfish.js >> scripts-all.min.js

Upvotes: 10

Views: 7874

Answers (3)

Aaron Wagner
Aaron Wagner

Reputation: 5739

My simple solution (before knowing about the .NET port of YUI Compressor) was to:

copy /b jquery.js+jquery.superfish.js+jquery.qtip.js+NOTICE core.js
java -jar yuicompressor-2.4.2.jar --charset utf-8 -o core-min.js core.js

That has been working fine for me even though I can't quite understand why the /b (binary) flag was the trick that got rid of the strange characters. If anyone wants to enlighten me in a comment I'd appreciate it.

Upvotes: 9

Pure.Krome
Pure.Krome

Reputation: 86987

If you're developing on Windows, don't forget there's a .NET port of YUI Compressor. You can do all that as a post-build event in visual studio, as part of a TFS Build or just import the dll's into your application and use it in that (eg. compressing on the fly).

Upvotes: 6

Shay Levy
Shay Levy

Reputation: 126882

You can try the Invoke-Expression cmdlet (iex is an alias):

PS > $cmd = 'java -jar yuicompressor-2.4.2.jar --charset utf-8 jquery-1.3.2.js > scripts-all.min.js'
PS > iex $cmd

Upvotes: 0

Related Questions