2014-12-11 4 views
1

설명서 및 예제 app.build.js 파일을 읽었지만 js 파일을 연결하여 하나의 단일 파일로 축소 할 수 없습니다. 나는 내가 스크립트를 작성하는 데 필요한 설정을 정확히 이해하지 못하고 있으며 도움이 필요하다고 생각합니다.r.js 빌드 스크립트 작동 방법

내 응용 프로그램은 다음과 같이 설정

:

src > 
    js > 
     build.js 
     r.js 
     config.js 
     app > 
      main.js 
     lib > 
      module1.js 
      module2.js 
      module3.js 
     vendor > 
      require.js 
      jquery.js 
      jquery.validation.js 

build > 
    // Where concat and minified file would go 

config.js 다음과 같습니다은 다음과 같습니다

requirejs.config({ 
    "baseUrl" : "src/js/lib", // Used because when setting dependencies in modules, this is used 
    "paths" : { 
     "app" : "../app", 
     "jquery" : [ 
      "https://code.jquery.com/jquery-1.11.1.min", 
      "../vendor/jquery" 
     ], 
     "validate" : "../vendor/jquery.validate.min" 
    }, 
    "shim" : { 
     // Allow plugins with dependencies to load asynchronously 
     validate : ["jquery"] 
    } 
}); 

// Load the main app module to start the app 
requirejs(["app/main"]); 

main.js :

require(["module1", "module2", "module3"], function(Module1, Module2, Module3) { 

    return [ 
     Module1.init(), 
     Module2.init(), 
     Module3.init(), 
     Module4.init() 
    ]; 

}); 

그리고 나서 build.js은 내가 잃어버린 곳입니다. shim을 사용하기 때문에 mainConfigFile을로드해야한다고 생각했지만 확실하지 않습니다. 해당 구성 파일을로드하면 해당 구성 파일의 baseUrl이 사용됩니다. name:이 정확히 무엇을 의미하는지, 그리고 필요한 구성 옵션이 누락되었는지 확실하지 않습니다. (그 라인이 주석으로) 그대로 내가 그 빌드 파일을 실행하면

({ 
    //baseUrl: ".", 
    paths: { 
     jquery: "empty:", 
     //main: "../app/main", 
     //app: "app" 
    }, 
    name: "app/main", 
    out: "../build/main.js", 
    //mainConfigFile: "config" 
}) 

내가 얻을 :

Error: ENOENT, no such file or directory '/Users/davidpaul/Sites/require/src/js/module1.js' In module tree: app/main

나는 그것이 '모듈 트리'말할 때 언급되고 있는지 정말 모르겠어요 . 나는 빌드 파일에서 경로를 변경하고 있지만 누군가가 이것을 조금 설명하기를 바라고 진전을 보이지 않고있다.

+0

코드에 "alpha"라는 단어가 어디에 표시됩니까? 이 파일을 질문에 포함시켜야합니다. – kryger

+0

죄송합니다 @kryger, 오타입니다. 이 질문에 대한 파일 이름의 이름을 변경하여 더 간단하게 만들었지 만 오류 때문에 잊어 버렸습니다. 알파는 module1로 이름을 변경 한 모듈입니다. 질문에서 코드를 편집했습니다. – davidpauljunior

답변