2012-12-04 2 views
0

질문은 제목이 암시하는 것보다 조금 더 복잡하므로 자세히 설명해주십시오. 나는 두 개의 저장소로 분리 된 프로젝트를 가지고있다. 둘 다 종속성 관리 및 편집을 위해 Google Closure를 사용합니다. 프로젝트 B에 프로젝트 A의 컴파일 된 버전을 제공해야합니다. 프로젝트 B는 고급 최적화를 수행하므로 프로젝트 A는 공백이어야합니다. 문제는 내가이 컴파일 A에 대한 내 모든 요구 사항을 충족 할 수있는 방법을 찾을 수 있다는 것입니다 :Google Closure Compiler를 사용하여 하나의 파일을 만드는 방법은 무엇입니까?

  • goog 기본 코드가있을 수 있습니다 그것은, 즉, var goog=goog||{}...
  • 의존성에 의해 주문해야합니다
  • 은 마찬가지로, 거기에 더 goog.provides 수 없습니다 또는
  • 그것은해야합니다 goog.requires 수 있습니다 공백 전용 지금까지 해봤

을 컴파일 :

  • Closurebuilder.py
    • 프로 : 공백 할 수 있습니다 만
    • 문제 : 기본 코드를 가지고; 중복 된 네임 스페이스를 얻는 것은
  • Compiler.jar
    • 문제를 문제 : 공백 전용 모드는 goog.provides을 유지하고
    • 문제에 필요합니다 프로젝트 틈 프로젝트 B의 최적화를

누구나 비슷한 설정 작업을 했습니까?

+0

프로젝트 A의 소스를 프로젝트 B의 클로저 빌더 실행에 포함시킬 수없는 특별한 이유가 있습니까? 그러한 사례가 처리되는 일반적인 방법이며 goog.require/provide issues가 없어야합니다. –

+0

프로젝트 A는 npm + github을 통해 B에 도달하므로 시간을 절약하기 위해 A를 하나의 파일로 축소하는 것이 좋습니다. 이것이 B가 A의 소스 코드를 수신 할 수없는 이유입니다. closurebuilder.py에서 종속성을 가져 와서이를 하나의 파일로 간단히 연결하여 해결했습니다. 그것은 B가 npm을 통해 수집 할 수있는 빌드 된 Repo로 보내집니다. 그리고 closure 스크립트를 통해 실행됩니다 (최적화 및 모듈로 분할). 귀하의 제안에 감사드립니다. – ian

답변

0

나는 closurebuilder.py에서 종속성을 얻고이를 순서대로 하나의 파일로 연결함으로써 해결했습니다. 그것은 B가 npm을 통해 수집 할 수있는 빌드 된 Repo로 보내집니다. 그리고 closure 스크립트를 통해 실행됩니다 (최적화 및 모듈로 분할).