사용 가능한 최고의 JavaScript 압축기는 무엇입니까? 다음과 같은 도구를 찾고 있습니다.
- 사용하기 쉽다
- 압축률이 높다
- 신뢰할 수있는 최종 결과 생성 (코드를 엉망으로 만들지 않음)
사용 가능한 최고의 JavaScript 압축기는 무엇입니까? 다음과 같은 도구를 찾고 있습니다.
답변:
최근 에 JavaScript로 작성된 JavaScript 압축기 UglifyJS를 발표 했습니다 (NodeJS Node.js 플랫폼에서 실행되지만 Node.js
내부 가 필요하지 않으므로 JavaScript 엔진에서 실행되도록 쉽게 수정할 수 있음 ). YUI Compressor 와 Google Closure 보다 훨씬 빠르며 테스트 한 모든 스크립트에서 YUI 보다 압축률이 높으며 Closure보다 안전합니다 ( "eval"또는 "with"를 다루는 것을 알고 있습니다).
공백 제거 외에도 UglifyJS는 다음을 수행합니다.
foo["bar"]
에 foo.bar
가능한추신 : 오, "미화"도 가능합니다. ;-)
몇 년 후 UglifyJS 이 질문을 다시 방문 하는 것이 현재 가장 좋은 선택 인 것 같습니다.
아래에 언급 된대로 NodeJS 플랫폼에서 실행되지만 모든 JavaScript 엔진에서 실행되도록 쉽게 수정할 수 있습니다.
--- 아래의 오래된 답변 ---
구글은 여기 와 여기에서 볼 수있는 가장 작은 파일을 생성하는 것으로 보이는 폐쇄 컴파일러 를 출시 했습니다.
그 전에 다양한 옵션 은 다음과 같습니다
기본적으로 Packer 는 초기 압축에서 더 나은 작업을 수행하지만 유선으로 보내기 전에 파일을 압축 하려면 YUI 압축기 가 최종 크기가 가장 작습니다.
테스트는 jQuery 코드 btw에서 수행되었습니다.
@ 다니엘 제임스 (Daniel james) 는 압축 압축기 가 차트를 최고의 압축으로 이끄는 것을 보여주는 압축기 압축기 에서 언급 하므로 ymmv
\uxxxx
기본적으로 리터럴 .. 예를 들어, 사용 --charset UTF-8
(당신이 확실하면 어떻게 든 그것에 대해 브라우저 알고하자)
YUI Compressor 가 갈 길입니다. 압축률이 뛰어나고 테스트를 거쳤으며 많은 상위 사이트에서 사용 중이며 개인적으로 권장합니다.
단일 JavaScript 오류 또는 딸꾹질없이 프로젝트에 사용했습니다. 그리고 그것은 좋은 문서가 있습니다.
CSS 압축 기능을 사용한 적이 없지만 존재합니다. CSS 압축도 잘 작동합니다.
참고 : Dean Edwards의 / packer /는 YUI Compressor보다 더 나은 압축률을 얻었지만 사용할 때 JavaScript 오류가 발생했습니다.
npm install packer
. (= D
Dojo 프로젝트에서 ShrinkSafe 를 사용 합니다. 실제로 코드에서 기호를 찾고 해당 범위를 이해하는 데 JavaScript 해석기 ( Rhino )를 사용하기 때문에 예외적 입니다. 다른 하나는 정규식을 사용하여 동일한 작업을 수행하는 많은 압축 도구와 달리 신뢰할 수는 없습니다.
실제로 현재 Visual Studio 솔루션 의 웹 배포 프로젝트 에 MSBuild 작업 이 있으며 스크립트를 실행하여 배포하기 전에 ShrinkSafe를 통해 솔루션의 모든 JS 파일을 실행합니다.
편집 : 그건 그렇고, "최고의"기준은 프로젝트의 요구에 따라 달라질 수 있기 때문에 토론에 열려 있습니다. 개인적으로 ShrinkSafe는 좋은 균형이라고 생각합니다. 가장 작은 크기 == 최고라고 생각하는 사람들에게는 불충분합니다.
편집 : YUI 압축기는 Rhino도 사용한다는 점은 주목할 가치가 있습니다.
은색 총알을 검색 하면서이 질문을 찾았습니다. Ruby on Rails의 경우 http://github.com/sstephenson/sprockets
bananascript.com 은 최상의 결과를 제공하는 데 사용되었습니다.
KJScompress
http://opensource.seznam.cz/KJScompress/index.html
Kjscompress / csskompress는 JavaScript 및 CSS가 포함 된 파일에서 중요하지 않은 공백과 주석을 제거하기위한 두 개의 응용 프로그램 (kjscompress csscompress)으로 구성되어 있습니다. 둘 다 GNU / Linux 운영 체제 용 명령 줄 응용 프로그램입니다.