2010년 4월 15일 목요일

자바 스크립트 경량화 도구 YUI Compressor

웹 페이지를 만들 때 자바스크립트(Javascript)를 사용하는 경우가 많습니다. 자바스크립트를 100% 안전하게 경량화해서 배포할 수 있는 도구가 많이 있습니다. 대표적인 것이 Yahoo!의 YUI Compressor입니다. 그 외에 Douglas Crockford의 JSMIN, Dojo compressorDean Edwards' Packer 등이 있습니다. 이 중에서 Yahoo!의 YUI Compressor가 다른 도구보다 안전성이나 압축률이 높고 오픈 소스라서 여기에 소개합니다.

YUI Compressor 도구는 자바스크립트와 CSS를 경량화(minifier)해 줍니다. 경량화 방법은 공백 문자(white space)나 개행 문자나 코멘트를 제거하고, 로컬 변수를 한 두 자의 문자로 안전하게 대체해 줍니다. 자바스크립트는 소스가 공개되므로 약간의 난독화(obfuscation) 효과도 있습니다.

이 도구는 자바로 만들어져 있습니다. 이 도구는 소스를 경량화하기 위해 소스의 구조를 분석하고 토큰 스트림을 다시 프린트하면서 불필요한 것을 제거하거나 대체를 합니다. CSS의 경우는 좀 더 복잡한 정규식들을 사용하여 경량화를 합니다. 다음은 Yahoo의 엔지니어 줄리안 레콤트(Julien Lecomte)가 YUI Compressor에 대해 소개한 비디오입니다.



YUI Compressor의 사용법은 다음과 같습니다.

사용법 : java -jar yuicompressor-x.y.z.jar [options] [input file]
사용예 : java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js

yuicompressor-x.y.x.jar에서 x, y, z는 버전을 나타냅니다. 위 사용 예는 myfile.js가 입력 파일이며, myfile-min.js가 출력 파일입니다.

- 강가딘

댓글 없음:

댓글 쓰기