2012-10-12 5 views
0

jquery를 기반으로하는 js 파일에 관한 몇 가지 질문이 있습니다.Jquery를 기반으로 js 파일을 최소화하는 데 사용되는 알고리즘?

1) js 파일을 최소화하는 데 사용되는 알고리즘은 무엇입니까?
2)이 알고리즘을 프로그래밍 방식으로 쉽게 구현할 수 있습니까?
3) j 축소 가역 프로세스입니까? 즉, 축소 된 js 파일에서 원본 js 파일을 가져올 수 있습니까? 예인 경우 동일한 알고리즘을 사용하여 문제를 해결합니까?

도와주세요. 스크립트의 축소 JS으로

답변

2
  1. :

http://dean.edwards.name/packer/
http://crockford.com/javascript/jsmin
http://code.google.com/intl/pl/closure/compiler/
http://developer.yahoo.com/yui/compressor/
http://ajaxmin.codeplex.com/

  1. 당신은 작게하다에 너 한테 쓸 수 있습니다 귀하의 js에 의해 스스로하지만 위의 도구 중 하나를 사용하는 것이 좋습니다. 이유는 그들이 이미 좋은 minification을 제공하고 있으며 그들은 시간이 테스트되었습니다

  2. Minifying 가역 과정입니다. 브라우저는 자바 스크립트 만 이해할 수 있기 때문에 이러한 algos는 되돌릴 수 있어야합니다. 그래서 다른 사람들도 그 축소를 되돌릴 수 있습니다.

2

축소에서는 알고리즘으로 당

wiki 같은에서 JSMin 1과 패커로 자바 스크립트의 최적화는 [2] 특별 현대적인 웹 프로그래밍 기술에 대한 설계, 이해하고 조건 보존 할 수있다
댓글 등이 있습니다. 예를 들어 Packer는 선택적으로 특정 웹 브라우저에서 압축 해제 할 수있는 방식으로 특정 소스 코드를 Base64 압축 할 수 있으며 일반적으로 5-10 자의 변수 이름을 단일 문자로 축소하여 스크립트의 파일 크기를 줄입니다. 따라서 더 빨리 다운로드 할 수 있습니다. [3] 구글은 클로징 컴파일러를 발표했다. 클로저 컴파일러는 축소와 더 적극적인 이름 바꾸기, 불필요한 코드 제거, 함수 인라이닝 (inlining) 기능을 제공한다. 또한 Microsoft Ajax Minifier [5], Yahoo! YUI Compressor 또는 Pretty Diff [6]는 CSS 파일을 압축 할 수 있습니다. "minifyPS"[7]라는 PowerShell 스크립트는 JavaScript 코드뿐만 아니라 PowerShell 스크립트 코드도 축소 할 수 있습니다.

가 그 알고리즘을 구현하기 쉬운 프로그래밍 방식으로
- 당신이 올바르게 수행하는 방법을 알고 있다면 모두가 쉽게해야합니다.

j 축소는 가역 프로세스입니까?
- 그렇습니다. 축소 된 JS를 아름답게 할 수있는 몇 가지 자바 스크립트 미화가 있지만 형식은별로 읽을 수 없습니다.

+2

[직접] (http://en.wikipedia.org/wiki/Minification_%28programming%29)을 Wikipedia에서 복사 할 때 최소한 링크를 수정할 수 있습니다. – jensgram

0

3 : 단어의 일반적인 의미에서 축소는 되돌릴 수 없습니다. 축소 된 프로그램은 실행되지 않은 프로그램과 동일하게 작동해야합니다 (실행 시간은 계산하지 않음).

공백이나 주석, 실제로 사용 된 변수 이름 또는 괄호는 그대로 재현 할 수 없습니다. 또한 일부 minifier는 상수 평가를 할 수 있습니다 (예 : 1.0 * (1.0 + 1.0)은 2. 또는 2가 될 수 있음). 제거 된 죽은 코드를 재현 할 수 없습니다. 아니, 모든

프로그램 (101)의 최종 할당 이상이 될 수 공백과 주석을 제거 심지어 첫 번째 단계에서 쉬운 일이 아니다 : 은

if (0==1) { // TODO: why isn't this working? 
    i++ 
    alert(''); 
} 

2 (. 즉,이 블록이 제거됩니다).

+0

의심을 해결해 준 Aki에게 감사드립니다. –