2014-10-13 2 views
2

r.js 사용 방법을 알아 내려고하고 있습니다. 이러한 모듈 경로가 존재하지 않거나 던져져서는 안되는 곳으로 파일을 던져 버리는 오류가 계속 발생합니다.r.js 옵션에 대한 이해 (grunt & backbone 및 상대 경로 포함)

나는 워드 프레스와 통합 된 단일 페이지 응용 프로그램을 가지고 있습니다. 나는 꽤 다른 것들을 설정했지만 내 일반적인 구조에 대해 this backbone boilerplate을 채택했습니다. 내 파일 구조는 아래와 같습니다.

.Theme Folder 
├── _assets 
| ├── _application 
| | ├── css 
| | ├── fonts 
| | ├── img 
| | ├── _js 
| | | ├── main.js //this is my require.js config file 
| | | ├── _app //here's where the boilerplate structure comes into play 
| | |  ├── collections 
| | |  ├── models 
| | |  ├── routers 
| | |  ├── templates 
| | |  ├── views 
| | | ├── libs 
| | | ├── utilities 
| | ├── scss 
| | ├── video 
| └── build //Concatenated application directory mirror 
| └── gruntfile.js 
| └── bower.json 
| └── package.json 

내 거대한 과기부 파일을 해독하는 마음을 아끼지 않으려면. 기본적으로 필자는 원래 모든 것을 연결하고, uglified하고, build 폴더에 컴파일하도록 설정했습니다. r.js가 사물을 테스트하는 간단한 작업을 만들었습니다. 내 lodash 라이브러리를 찾을 수 없다는 오류가 발생합니다 (main.js 파일의 첫 번째 경로). lodash가 assets/lodash.js에 있다고 생각합니다. 내 main.js (require.js 구성)의 baseUrl 속성을 무시합니다. 실제 위치는 assets/application/js/libs/lodash.js입니다. 내 requirejs 작업은 아래와 같습니다.

 requirejs: { 
      compile: { 
      options: { 
       baseUrl: "./", 
       mainConfigFile: "application/js/main.js", 
       name: "./application/js/main", 
       out: "./build/js/optimized.js" 
      } 
      } 
     } 

정확한 rjs 작업을 수행하는 데 가장 힘든 시간을 보내고 있습니다. 그것이 작동하기를 기대할 때 올바른 디렉토리에있는 파일을 찾지 못합니다. 올바른 파일을 찾도록 구성 할 때 전체 자산 폴더를 복사하여 내 빌드 폴더에 덤프합니다 ... 어느 것이 모든 r.js가하고있는 일과 내가 입력하기를 원하는지에 관해 많은 혼란을 야기했습니다 옵션. 그것은 당신이주는 설명과 함께 날 것으로 보인다

>> Error: ENOENT, no such file or directory 
>> 'path-to-theme-folder-here/assets/libs/lodash.js' 
>> In module tree: 
>>  application/js/main.min 

답변

2

, 이것은 작동합니다 :

requirejs: { 
    compile: { 
    options: { 
     baseUrl: "application/js/", 
     mainConfigFile: "application/js/main.js", 
     name: "main", 
     out: "build/js/optimized.js" 
    } 
    } 
} 
+0

가 완벽한, 결국 내를 가리키는 결국

는 내가 현재 무엇입니까 오류입니다 baseurl과 mainconfig는 내 main.js가 축소 된 파일 이름을 가리키고 있기 때문에 폴더를 빌드합니다. – codewizard