2013-06-04 3 views
1

자바 스크립트에서 모듈러 프레임 워크를 개발 중이며 자바 스크립트 세트를 자동으로 최적화/결합하는 방법을 찾고 있습니다. 단계.프리 컴파일 단계로 javascript 파일을 조건부로 결합 (r.js가 수행 할 수있는 것보다 융통성이 높음)

나는 이미 꿀꿀 거리는 소리를 사용하고있어 꿀꺽 꿀꺽한 일이 아마 의미가있을 것입니다.

프레임 워크는 자신의 파일에있는 모듈로 구성되며 (예 : 우리가 모두 사용했던 사각형 '위젯'처럼) 다른 자바 스크립트가 필요할 수 있습니다.

이 모든 것은 Require.js를 사용하여 유선으로 작동합니다. 최적화는 배열 맨 위로 전달되는 문자열 리터럴의 에 지정된 모듈을 결합합니다

require.js 함께 제공 r.js을 사용하려고 할 때 그러나, 나는 다음과 같은 제약 조건을 가로 질러왔다 -level 호출을 요구하거나 require ('name') 문자열 리터럴을 호출하여 CommonJS 배치를 단순화합니다. 그래서, 그것은 변수 이름을 통해로드 된 모듈을 찾을 수 없습니다 :

건은 다음과 같습니다를로드 할 수있는 기술이 필요로 (모듈은 서로에서 상속 할 수 있으며, 다른 모듈도 구성이 구성을 통해 가능하다 자신의 js 파일에있는 참조 된 모듈).

위의 언급 된 제약 조건에서는 작동하지 않습니다. 나는 충분한 시간을 갖고 나 자신을 요리 할 수있을 것이라고 확신하지만, 아마도 누군가 이미 이미 이런 일을했다. (r.js이지만 더 유연함).

  • 은 프리 D-작업을하지만, 프레임 워크 노드의 서버가 아닌 클라이언트합니다 (JS 번 최적화 할 필요가있는 페이지를 실행하자 :

    행할 솔루션 이럴하는 것 이 일을 할 수있다)

  • 그리고 어떻게 든 require.js에 의해로드 된 모든 라이브러리를 추적하십시오.
  • 로드 아웃 할 js- 스크립트 목록이 필요합니다.
  • r.js에서 제공하는 include을 제공하고 거기에서 r.js가 처리합니다.
  • 더 많은 페이지 유형이 있습니다. 그러나 r.js에서는 공통 라이브러리를 정의 할 수 있으므로 페이지별로 최적화 된 파일에 포함되지 않습니다.

소리가 들립니까? 누구든지 이런 걸 시도해 봤어?

답변

1

너무 복잡해 보입니다. r.js 빌드에는 onBuildRead 옵션이 있습니다. 옵션을 사용하면 소스를 수정하여 옵티마이 저가 허용 할 수 있습니다. 또한 Internal API: onResourceLoad을 들여다 볼 수도 있습니다. 로드 된 모든 종속성을 캡처하고 사용자 정의 빌드를 호출 할 수 있습니다.

페이지를로드하려면 브라우저로 작동하고 JS를 실행하도록 PhantomJS을 사용해야합니다. 그런 다음 노드에 신호를 보내 해당 페이지에 대한 사용자 정의 빌드를 생성하십시오. 그런 다음 사용자 정의 빌드를 사용하려면 해당 페이지의 자원을 전환해야합니다. 나는 당신이 그것을 구성 할 수 있고 생산에서 그것을 할 수 있다고 생각한다.

가능한지 확실하지 않은 것으로 들리지만.

+0

포인터에 감사드립니다. –