2012-12-19 2 views
8

우리가 직장에서 문제가, 우리는 JS 필요로 사용하고 있지만, 우리의 폴더 구조는 우리가 다음과 같은 한 조금 다른 :RequireJs minifcation - 복잡한 디렉토리 구조

--js folder 
    --Folder 
     ---some base js files 
    -Folder 
     ---main 
      --src 
       ---require.js 
       --- require JS modules 
     --plugin js files 
     --more js files 

우리는 모든이를 작게를하고 싶습니다 JS 파일을 생산을위한 SINGLe js 파일에

---js folder 
    --min-all.js 

이게 가능합니까? 면 어떻게? .. 도움이 될 것입니다!

감사합니다.

나는 다른 폴더에 표준이 아닌 모듈 형 JavaScript 파일이 포함되어 있다고 생각했지만 플러그인 또는 간단한 자바 스크립트 도우미를 혼합하여 사용할 수 있습니다.

답변

6

짧은 대답은 예, 요구 사항은 이것을 수행 할 수 있습니다.

기본적으로 축소하려는 모든 리소스가 필요한 하나의 JS 파일을 만들어야합니다. 그런 다음 최적화 프로그램이 해당 파일을 가리 키도록하면 모든 파일이 하나로 합쳐집니다.

require(["one", "../another/two", "folder/three", "folder/inner/four" ... ]); 

해당 파일이 myfile.js을 호출 된 경우, 이와 유사한 매개 변수를 사용하여 최적화를 실행합니다 :

node r.js -o name=myfile out=optimized.js 

당신은 당신이 마지막 최적화 된 파일에 포함하지 않는 라이브러리 나 다른 파일이있는 경우 excludeShallow 플래그를 사용합니다. 예 : 당신이 아직하지 않은 경우 당신이 그들의 optimization documentation을 확인해야하므로

node r.js -o name=myfile out=optimized.js excludeShallow=jquery.min 

더 많은 옵션을 있습니다.

+0

그래서 myfile.js가 모든 포함을 만들 것이므로 src/.. 아래에없는 파일도 포함시켜야합니까? 외부 라이브러리, 플러그인 등? – Nima

+1

IIRC 옵티마이 저는 종속성 체인을 따라 가며 여기에 제안 된 것과 같은 "부트 스트 래퍼"를 만들어야합니다. – Aren

+0

빠른 응답을 주셔서 감사합니다. 다른 workds에서 데이터 주 속성 아래에있는 파일은 myfile.js가됩니까? – Nima