성능 결함 없이 JavaScript 코드를 압축하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/114860

  •  02-07-2019
  •  | 
  •  

문제

iPhone용 JavaScript 코드를 압축하는 방법을 찾고 있습니다.작고 다소 느린 장치에서 많은 CPU 시간을 사용하지 않는 방법이 있습니까?

도움이 되었습니까?

해결책

사용 JSMin 그리고 피하세요 포장 기계 이는 실제로 CPU를 더 많이 소비하고 "수축" 속도가 더 느립니다.

다른 팁

좋아요 축소 안전.Rhino에서 코드를 해석한 다음 압축된 코드를 반환합니다.(복잡한 문자열 평가 대신) 실제 해석된 코드에서 작동하기 때문에 코드를 정리하거나 공개 변수와 비공개 변수 간의 차이점을 찾는데 실패하지 않습니다.

우수한 품질의 도구입니다.

우리는 사용했습니다 js_컴팩터 그리고 JavaScript린트 자동화된 빌드 프로세스에서 JavaScript를 "컴파일"하고 압축합니다.추가 빌드 단계에서는 JavaScript를 압축하고 관련 파일을 단일 패키지로 결합합니다.성능 향상은 상당했지만 디버깅 기능을 포기하고 있다는 점에 유의하세요.

클라이언트로 전송되는 파일 수를 줄이면 파일 수가 많을 때 성능이 크게 향상됩니다.일반적으로 브라우저는 한 번에 단일 서버에 대해 2개의 연결만 열므로 압축되고 최소화된 파일을 전송하는 경우에도 브라우저는 캐시를 확인하는 데 상당한 양의 오버헤드를 소비합니다. 이슬로우 우리를 도와줬어 식별하다 페이지를 로드하는 데 시간이 오래 걸리는 이유는 무엇이며 최적화 노력에 집중하는 데 도움이 됩니다.우리는 다음 중 하나를 사용하도록 환경을 계측했습니다. 원시 파일 또는 최소화된 압축 버전.

iPhone의 Safari는 gzip 출력을 지원하므로 mod_deflate와 같은 것을 사용할 수 있다고 생각합니다.나는 이 방법을 사용하여 최상의 결과를 얻었습니다.상당히 많은 JavaScript 압축 기능은 완전 쓰레기이며 더 큰 파일을 다운로드하는 것보다 압축을 푸는 데 더 오랜 시간이 걸립니다.하지만 JSMin은 꽤 괜찮아 보입니다.

다음에서 다양한 도구를 사용해 볼 수 있습니다. JavaScript 압축기 평가자.내가 아는 한 패커를 제외한 모든 도구는 자바스크립트 실행 속도에 영향을 미치지 않습니다. 공백 제거, 변수 이름 변경 등만 수행됩니다.

나는 나 자신을 고려한다 유이 압축기 최고의 사람이 되기 위해.

코드의 유효성을 검사하는 것은 항상 유용합니다. JSLint 먼저 압축기가 이를 올바르게 이해하는지 확인하십시오.

클라이언트가 지원할 때 웹 서버가 gzip으로 압축되거나 수축된 항목을 제대로 제공하는지 확인하는 것이 일반적으로 프로그램 코드 자체를 축소하는 것보다 더 효과적입니다.물론 두 가지를 모두 사용하면 크기가 더 작아지는 경향이 있습니다.

나는 지난 며칠 동안 이 작은 춤을 추었습니다.우리는 사용해 보았습니다. 포장 기계, 그러나 압축된 JavaScript가 실행되는 데 2초 이상 걸리는 것으로 나타났습니다(다른 다운로드를 차단하는 것은 말할 것도 없고).기반 이 기사 우리는로 전환했습니다 유이 압축기.gzip으로 압축된 파일 크기가 더 작을 뿐만 아니라 실행 시간도 300ms 미만입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top