2013-02-25 3 views
4

RequireJS를 잘 구현했으며, 잘 작동하는 r.js을 통해 JS 응용 프로그램을 하나의 파일로 최적화하는 Grunt 기반 빌드 프로세스가 있습니다. 효율적인 모든 프로덕션 배포를 위해 모든 응용 프로그램 파일을 하나로 연결합니다.RequireJS의 r.js 최적화에서 임의의 파일을 제외하고 비동기로로드하십시오.

r.js 최적화에는 내 모든 템플릿이 주 앱 JS 파일에도 포함되며, 앱을 부팅하자마자 곧 필요할 때 사용할 수있는 템플릿에도 사용할 수 있습니다. 전혀 볼 수 없거나 나중에 앱 라이프 사이클에서 많이 볼 수있는보기에는 그리 좋지 않습니다. 이러한 템플릿이 필요에 따라 비동기로로드되면 더 좋을 것입니다.

제 질문은 임의로 내 템플릿을 모 놀리 식 응용 프로그램 JS 파일에 포함하지 않고 RequireJS에서 비동기 적으로로드하지 않거나 지원하지 않는 방법입니까? 지원되지 않는 경우 비동기에서 템플릿을로드하기위한 접근 방법은 무엇입니까?

나는 tpl 텍스트 템플릿 플러그인과 Backbone.Marionette을 사용하고 있습니다. 내 템플릿 용도는 현재 다음과 같이 보입니다.

define(function (require) { 

    var Backbone = require("backbone"); 

    var tpl = require("tpl!./some-view-template.tpl"); 

    return Backbone.Marionette.ItemView.extend({ 
     template: tpl 
    }); 
}); 

답변

1

필요 JS 모듈이 문제를 해결할 것이라고 생각합니다. 게으른 로딩 만 시도했지만 템플릿 (컴포넌트) (뷰, 모델, 템플릿)을 Require JS 모듈로 분리하고 게으르게로드 할 수 있습니다.

이 주제에 대한 Ben Nadel의 블로그 게시물은이 주제에 대해 매우 철저합니다. http://www.bennadel.com/blog/2404-Compiling-Optimizing-A-Subset-Of-A-RequireJS-Application.htm

+0

좋은 중. 그 블로그 게시물은 바로 돈입니다 - 고마워요! – WildService