2009-11-24 3 views
3

Zend 프레임 워크, MooTools JS 라이브러리를 사용하고 있지만 내 질문은 그 주위를 돌고 있지만 더 일반적인 질문입니다.압축을 사용하는 동적 JavaScript로드

웹 응용 프로그램에서 작업하고 있는데, 다른 요소 (예 : OpenLayers 관련 MooTools 클래스)에서 유용 할 수있는 많은 요소를 사용하고 있습니다.

Mootools는 이미 "분류"("클래스".. 생성)에 의해이 "분할"을 허용하므로 다음 일은 모든 클래스에 대해 별도의 JS 파일을 작성한 다음 PHP 페이지에 요청을 보내는 것입니다. 내가 원하는 클래스로 JS 파일을 반환합니다. 동시에이 메커니즘은 서버에서 로컬로 축소 및 gzip 및 캐시 (이후 요청)하고이 파일 하나를 다시 보냅니다.

디자인에 아직 들어가지 않았고 그런/비슷한 해결책이 있는지 궁금해하고 있었습니까? 또는 labJS와 같은 라이브러리가 멀티 스레딩 요청에 따라 처리 속도를 높이는 것을 볼 수 있습니다. 그러나 이것은 minification 및 gzip (다른 보완 솔루션으로이 서버 측을 관리해야 함)으로 솔루션을 완료하지 못합니다.

비슷한 동적 JS "클래스"로딩 솔루션을 사용하는 사용자가 있습니까? 내가 젠드에 익숙하고 Mootools의 만 다소 익숙하지 않다

건배, 로마

답변

1

내가보고 싶은 도구가 minify 프로젝트라고 생각합니다. !

Minify 당신이 야후의 Rules for High Performance Web Sites 여러 따라 하는 데 도움이 PHP5 응용 프로그램입니다 : 여기에 대한 설명입니다.

그것은 여러 CSS 나 자바 스크립트 파일을 결합하여 불필요한 공백 과 주석을 제거하고 GZIP 인코딩 및 최적의 클라이언트 측 캐시 헤더를 제공합니다.

그것은 사용하기 매우 간단합니다, 그리고 당신이 http://example.com/min/에 설치되어있는 말, 당신은 압축하는 두 개의 파일이 있습니다

  • /자원 /의 JS/lib 디렉토리/라이브러리를.JS
  • 당신이 url을 호출 할

/resources/js/main.js :

http://example.com/min/b=resources/js&f=lib/library.js,main.js

을 그리고 코드는 다음과 같습니다

<script type="text/javascript" 
    src="/min/b=resources/js&amp;f=lib/library.js,main.js"></script> 

그래서 기본적으로 파일을 병합하는 일관된 URI 기반 방법이 있습니다. 아르 자형.

+0

흠 ..이 표정이 매우 기대됩니다. , 어떤 좋은, 고마워하는 경우 볼 것이다! –

+0

나는 mootools 자신의 "depender"툴로 끝났지 만, 당신의 대답도 좋았으므로 올바른 것으로 선택하겠습니다. –

0

그래서 소금보다 큰 평균 입자와이 걸릴.

클래스의 가능한 모든 조합을 생성/축소하고 특정 조합을 요청하는 프로세스가 더 쉽지 않을까요? 스크립트로 이것을 쉽게 자동화 할 수 있습니다.

또한 저는 과 WP_Minify 플러그인을 워드 프레스에 사용했으며, 여러분이 말하는 거의 모든 것을 수행하므로 영감을 얻고 싶을 수도 있습니다.

+0

사실 나는 이것을 할 수 있습니다. 이것은 후자와 같은 솔루션과 함께 LABjs를 사용할 때 옵션 중 하나의 두 번째 부분이 될 것입니다. 그러나 이것은 워드 프레스 구성 요소이므로 필자는 자신의 모듈을 작성해야합니다. 정적 파일 제공이 더 빠를 것이라고 가정하기 때문에 결국이 옵션을 사용할 수 있습니다. –

0

YUI JavaScript 라이브러리에 맞게 조정되었지만 설명하는 내용은 YUI PHP Loader과 거의 같습니다. 그러나이 프로젝트는 BSD 라이센스에 의거 한 오픈 소스이기 때문에 자신 만의 아이디어를 구현할 수있는 좋은 기회입니다.

또한 일반적인 JavaScript (및 CSS) 로더 인 Lissa (YUI PHP 로더 기반)을 살펴보십시오.

관련 문제