여러 자바스크립트 파일에 대한 요청을 하나의 http 요청으로 결합하는 방법은 무엇입니까?

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

  •  01-07-2019
  •  | 
  •  

문제

이 개념은 나에게 새로운 개념이다. YUI 종속성 구성자.기본적으로 많은 파일을 여러 번 요청하는 대신 파일이 하나의 http 요청으로 연결되어 페이지 로드 시간을 줄입니다.

LAMP 스택에서 이것을 구현하는 방법을 아는 사람이 있습니까?(이미 비슷한 질문이 올라온 걸 봤습니다만, ASP에 특정한 것 같습니다.

감사해요!

업데이트:두 답변 모두 도움이 됩니다...(내 담당자는 아직 논평할 만큼 높지 않아 여기에 몇 가지 이별 생각을 추가하고 있습니다).나도 왔어 다른 블로그 게시물을 통해 유용할 수 있는 PHP 관련 예제가 포함되어 있습니다.하지만 David의 빌드 답변으로 인해 다른 접근 방식을 고려하게 되었습니다.고마워요, 데이빗!

도움이 되었습니까?

해결책

다양한 방법이 있는데 가장 확실한 두 가지 방법은 다음과 같습니다.

  1. 파일을 정적으로 제공할 수 있도록 필요에 따라 선택한 구성 요소를 기반으로 맞춤형 고유 버전을 빌드하는 YUI와 같은 도구를 빌드하세요.MooTools와 jQuery UI는 모두 패키지를 다운로드할 때 이와 같은 패키지 빌더를 제공하여 가능한 가장 간편하고 효율적인 라이브러리를 제공합니다.나는 일반적인 다목적 도구가 거기에 존재한다고 확신합니다.
  2. 요청에 따라 여러 JavaScript 파일을 제공하는 간단한 Perl/PHP/Python/Ruby 스크립트를 만듭니다.따라서 "onerequest.js?load=ui&load=효과"는 파일을 로드하고 올바른 콘텐츠 유형으로 제공하는 PHP 스크립트로 이동합니다.이것에 대한 많은 예가 있지만 개인적으로 나는 팬이 아닙니다.

나는 어떤 종류의 스크립트를 통해 정적 파일을 제공하는 것을 선호하지 않지만 10개의 HTTP 요청 비용 없이 10개 정도의 별도의 작은 클래스 파일로 코드를 개발하는 것을 좋아합니다.그래서 가장 일반적인 클래스와 함수를 모두 결합한 다음 이를 project.min.js와 같은 단일 파일로 축소하고 프로덕션 시 이 파일을 포함하는 모든 보기/템플릿에 조건을 갖는 사용자 정의 빌드 프로세스를 생각해냈습니다.

편집 - "사용자 정의 빌드 프로세스"는 실제로 매우 간단한 Perl 스크립트입니다.인수로 전달한 각 파일을 읽고 새 파일에 기록하며 선택적으로 전체 파일을 전달합니다. JSMIN (좋아하는 모든 언어로 사용 가능) 자동으로.

명령은 다음과 같습니다.

perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js

다른 팁

@에 대한 좋은 블로그 게시물이 있습니다. http://www.hunlock.com/blogs/Supercharged_Javascript.

당신이 원하는 것은 작게 하다.방금 글을 썼어요 연습 설정을 위해.

Capistrano는 상당히 인기 있는 Ruby 기반 웹 배포 도구입니다.고려 중이거나 이미 사용하고 있다면 CSS 및 Javascript 종속성을 파악하고 파일을 병합하고 축소할 수 있는 훌륭한 보석이 있습니다.

gem install juicer

로부터 과즙기 GitHub 페이지, 어떤 파일이 서로 의존하는지 파악하고 함께 병합하여 페이지 보기당 http 요청 수를 줄여 성능을 향상시킬 수 있습니다.

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