최근에 jQuery 플러그인을 작성했는데, 최적화가 완료됐을 때 압축된 파일이 상대적으로 크다는 것을 알았고, 수정하고 최적화할 수 있는 부분이 많다는 걸 알게 됐어요. 이번에 YUI Compressor로 JavaScript를 압축하게 되었는데, 압축할 수 있는 것, 특히 압축할 수 없는 것들은 매우 명확해야 파일을 보관할 수 있는 플러그인을 작성할 수 있다는 것을 깊이 이해하게 되었습니다. 더 작고 코드가 더 컴팩트하며 최적화 과정에서 코드가 더 작아야 한다는 것도 알게 될 것입니다. 개선 사항은 앞으로 큰 도움이 될 것입니다. 우연히 인터넷에서 글을 찾아 녹음해봤습니다.
YUI Compressor는 다음을 포함한 JavaScript 콘텐츠를 압축합니다. :
댓글 제거
추가 공백 제거
미세한 최적화
식별자 교체
무엇 YUI Compressor에는 미묘한 최적화가 포함되어 있나요?
object["property"] , 속성 이름이 유효한 JavaScript 식별자(참고: 유효한 JavaScript 식별자는 문자로 시작하고 선택적으로 하나 이상의 문자, 숫자 또는 밑줄이 뒤따름)이고 속성 이름이 아닌 경우 예약어는 object.property
{"property":123}에 최적화됩니다. 속성 이름이 유효한 JavaScript 식별자이고 예약어가 아닌 경우 {property:123}( 참고: 객체 리터럴에서는 속성 이름이 합법적인 JavaScript 식별자이고 예약어가 아닌 경우 속성 이름을 인용할 필요가 없습니다.
'abcd'efgh'는 'abcd'efgh'로 최적화됩니다.
"abcd" "efgh", 문자열 연결인 경우 "abcdefgh"로 최적화됩니다. (참고: 모두 YUI Compressor를 사용한다는 전제 하에 스크립트의 문자열 연결에는 커넥터 " "를 사용합니다. 효율성과 최고의 유지 관리성을 위해).
JavaScript의 가장 효과적인 압축 최적화는 식별자 교체입니다.
예: