몇 가지 방법이 있습니다.
myDefine = function(dependencies, callback) {
var defaults = ['jquery', 'underscore', 'backbone'],
combined = defaults.concat(dependencies);
return define(combined, callback);
};
myDefine(['MyView'], function($, _, Backbone, MyView) {
// do stuff
});
그러나 이것은 분명히 여전히 콜백 개체를 지정해야합니다 : 하나는 자신의 myDefine
(또는 무엇이든)에 define
을 래핑하는 것입니다. 따라서 더 좋은 옵션은 응용 프로그램 네임 스페이스에 $
, _
및 Backbone
을 첨부하는 것입니다 (글로벌로 지정하지 않으려는 경우).
myDefine = function(dependencies, callback) {
var defaults = ['jquery', 'underscore', 'backbone'];
if (myApp.$ && myApp._ && myApp.Backbone) {
define(dependencies, callback);
} else {
require(defaults, function($, _, Backbone) {
myApp.$ = $;
myApp._ = _;
myApp.Backbone = Backbone;
define(dependencies, callback);
}
}
};
myDefine(['MyView'], function(MyView) {
// use myApp.$, myApp._, myApp.Backbone
});
당신이 네임 스페이스 지정에 대해 걱정하지 않는 경우
, 당신은
myApp
단계를 거치지 않고 위의 작업을 수행하고 libs와
window
에 머물게 단지 수 : 그럼 당신이 뭔가를 할 수 있습니다.
위의 내용은 모두 테스트되지 않았습니다.
더 간단한 옵션은 jQuery, Underscore 및 Backbone을 모듈 앞에 동 기적으로로드하는 것입니다.
감사합니다. Glortho! 나는 두 번째 제안을 따를 것이다. – Rethna