javascript 와 css 파일에 대해서는 많은 압축 프로그램들이 있다.
yuicommpressor 는 사용결과 다른 압축프로그램보다 압축률이 좋게 나오지는 않았다.
그렇지만 다른압축프로그램에서 발생한 한글문제가 발생하지 않기 때문에 이 압축프로그램을 사용하였다.
홈페이지 : http://yui.2clics.net/
Usage: java -jar yuicompressor-x.y.z.jar [options] [input file]
Global Options
-h, --help Displays this information(도움말)
--type <js|css> Specifies the type of the input file(변경하고자 하는 파일의 타입 js 또는 css)
--charset <charset> Read the input file using <charset>(사용하는 파일의 charset 지정)
--line-break <column> Insert a line break after the specified column number(특정 컬럼 번호뒤에 줄바꿈 삽입)
-v, --verbose Display informational messages and warnings(콘솔정보 표시)
-o <file> Place the output into <file>. Defaults to stdout.(압축된 파일의 파일명)
JavaScript Options
--nomunge Minify only, do not obfuscate (난독을 제외한 압축)
--preserve-semi Preserve all semicolons (세미콜론 유지)
--disable-optimizations Disable all micro optimizations
(foo['bar] => foo.bar and {'bar':x} => {bar:x} 의 형태로 변환을 사용하지 않음)
* disable-optimizations 의 추가 설명
disable-optimizations 을 설정하지 않을 경우 아래와 같은 소스로 두가지 메소드가 호출된다.
if (!disableOptimizations) {
optimizeObjectMemberAccess(this.tokens);
optimizeObjLitMemberDecl(this.tokens);
}
optimizeObjectMemberAccess 메소드의 경우 obj["foo"] 를 obj.foo 로 변환하여 3bytes 를 절약한다.
[]"" 의 4바이트가 제외되고, . 의 1바이트가 추가된다.
optimizeObjLitMemberDecl 의 경우에는 json 내부의 멤버 선언부의 스트링 선언 'foo' 을 foo 로 변환하여
'' 2바이트를 절약한다.
사용법>
java -jar yuicompressor-x.y.z.jar myfile.js -o myfile-min.js --charset utf-8
'IT > javascript' 카테고리의 다른 글
String fommat 2 (0) | 2015.08.03 |
---|---|
javascript 의 arguments (0) | 2014.12.03 |
javascript 에서 string.format 사용 (0) | 2014.11.24 |
setTimeout , setInterval , clearTimeout , clearInterval 사용 (0) | 2014.11.22 |
setTimeout 에 파라미터를 넘기는 법 (0) | 2014.11.22 |