2013-08-10 2 views
5

여러 파일로 requirejs 모듈을 만드는 방법을 궁금해합니다. e.x. 내가 어떻게 든 여러 파일을 가져옵니다 하나의 파일이 필요합니다. 나는이 작업을 수행 할 수 있습니다 알고여러 파일로 requirejs 모듈을 만드는 방법

define([all the other files], function() { 
    var mod = {}, 
     files = [all the other files]; 
    arguments.forEach(function (i) { 
    mod.[files[i]] = i; 
    }); 
    return mod; 

}); 

하지만 더 나은 방법이 있었는지 궁금 해서요?

+0

이것 좀 봐 - http://requirejs.org/docs/api.html#modulename – JohnP

+0

그건 내가 바라는 것이 아니야, 그 반대 다. 한 모듈, 여러 파일, 모듈 이름을 원한다. 하나의 파일에 대해 여러 모듈. – swissnetizen

+0

AFAIK,'arguments'는'forEach' 메쏘드가 없지만 의사 코드를 이해합니다. 당신이 제안하는 것이 가장 간단한 방법 인 것 같습니다. –

답변

0

동적 소스 파일 목록 (.txt, .tpl, .htm, .json)을 사용하여 JS 소스 코드가 변경되어 파일을 더 추가하려고합니다.

내가 할 수있는 방법이 있는지 모르겠지만이 파일을 모두 다운로드하는 데 소요되는 시간에주의해야합니다. 다운로드하고자하는 모든 파일이있는 json 파일을 작성하고 아약스를 사용하여이 파일 배열을 반복하는 것이 좋습니다.

디렉토리 안에 모든 모듈을 가져 오려고하는 경우 예를 들어 require([all files],function());을 캡슐화하는이라는 js 파일을 만들어야합니다.

이 문제를 해결하는 유일한 방법이라고 생각합니다.

0

첫째,

define(function(){ 
    return { 
     'mod-a' : require('modules/mod-a'), 
     'mod-b' : require('modules/mod-b'), 
     'mod-c' : require('modules/mod-c') 

    } 
}) 

다음 (하나에 모든 모듈 파일을 결합합니다 r.js) 하나를 날려 위의 JS을 최적화 할 수 r.js를 사용,이 같은 모듈을 작성, 또는, 당신은 쓸 수 있습니다 이와 같이 직접 :

define('modules/mod-a', [], function(){}); 
define('modules/mod-b', [], function(){}); 
define('modules/mod-c', [], function(){}); 

define('mod-all', ['modules/mod-a','modules/mod-b','modules/mod-c'], function(){ 

    return { 
     'mod-a' : require('modules/mod-a'), 
     'mod-b' : require('modules/mod-b'), 
     'mod-c' : require('modules/mod-c') 
    } 
}) 

이제 'mod-all'모듈이 원하는 것입니다.

관련 문제