효율적인 JavaScript 분석 및 압축 도구 JavaScript 분석기
게시 먼저 JSA 구문 압축 및 최적화 기능을 시연하기 위해 스크립트 압축 예제가 공개됩니다.
zzzz( );
}
function f2(var1) {
var var2 = 2;
var var3 = 3; with (withObject){
경고(var2)
} }
압축된 결과(쉽게 참조할 수 있도록 형식 지정):
코드 복사
코드는 다음과 같습니다:
zzzz();
function f2(A) {
var var2 = 2
var B = 3; var2:-2};
(C) {
경고(var2) }
}
JSA의 압축 프로세스는 두 단계로 나뉩니다.
첫 번째 단계는 구문 압축으로 Dojo ShrinkSafe와 비슷하지만 더 안전하고 효과적입니다.
두 번째 단계는 텍스트 압축입니다. 현재는
JavaScript Compressor의 압축 알고리즘을 사용하고 있습니다.
(http://dean.edwards.name/packer/ )
설정 창에서 설정할 수 있습니다.
기본적으로 구문 압축이 먼저 사용됩니다. 파일이 1000바이트를 초과하고 텍스트 압축을 사용하여 원본 크기의 90%로 압축할 수 있는 경우 원본을 기준으로 텍스트 압축이 사용됩니다.
다른 압축 도구와의 압축률 비교:
1. JavaScript Compressor(http://dean.edwards.name/packer/)
자체 압축과 비교 도구 코드를 예로 들어 보겠습니다(v2.02). 패커 압축 후 크기는 7,428바이트입니다(주석 제거됨).
그리고 우리의 압축 도구는 7,256바이트까지 압축할 수 있습니다
7256 / 7428 = 0.9768443726440496
2. Dojo ShrinkSafe(거칠고 비효율적이며 위험하므로 원래 사용자는 빨리 교체하는 것이 좋습니다)
가져가세요 자신의 프레임워크 소스 코드 예(v0.4.1):
자신의 압축 크기는 149,518바이트이며 압축 후 81,261바이트로 줄일 수 있습니다.
81261 / 149518 = 0.5434864029748927
보안 지침:
1. JavaScript 압축기
텍스트 기반 압축, 로직을 자세히 살펴보지는 않았지만 이런 종류의 압축에 문제가 발생할 가능성은 매우 낮으며 당사의 압축 도구에서도 이를 사용합니다. 그의 압축 알고리즘은 JSI 1.1 a8 및
통합된 타사 라이브러리 테스트에서 아무런 이상도 나타나지 않았습니다. 게다가 잘 알려진 프레임워크인 JQuery를 사용하고 있기 때문에 문제가 없을 것이라 믿습니다.
보충(2007-03-12): 오늘 JavaScript 여러 줄 문자열 구문을 분석할 때 이 항목에 버그가 있음을 발견했습니다. 그러나 이 문제는 JSA 구문 압축 후에는 더 이상 존재하지 않습니다.
2. 도장은 위험해요! ! ! ! !
긴 지역 변수 이름을 대체하려면 짧은 이름을 사용하십시오. 이는 매우 안전하지 않은 압축 도구입니다. 예:
javascript code
function(){
var withObject = {variable1:1}
var Variable1 = 2;
with(withObject){
Alert(variable1);
}
}
이 압축됩니다. into:
function(){
var _1={variable1:1};
var _2=2
with(_1){
alert(_2); 🎜>}
이것은 분명히 잘못된 것입니다. 이 쓰레기는 자바스크립트의 일부 특수 구문과 역학에 주의를 기울이지 않습니다.
eval 함수, catch 연산 및 with 문에 대해서는 처리가 수행되지 않습니다.
비교해 보면 JSA는 제가 아는 가장 안전하고 효과적인 압축 도구입니다.
JSA는 코드 압축 기능을 제공할 뿐만 아니라 서식 지정 및 스크립트 분석도 수행할 수 있습니다.
스크립트 분석 기능을 이용하면 스크립트 정보를 확인하고 스크립트에서 잠재적인 문제를 찾아낼 수 있습니다.
예를 들어 스크립트에 어떤 함수와 변수가 선언되어 있는지 확인하세요.
해당 외부 변수가 사용됩니다. 등. . .
다운로드 주소:
http://sourceforge.net/project/showfiles.php?group_id=175776
또는
http: //forum.xidea.org
파일 목록