2014-01-13 2 views
0

내 응용 프로그램 호출되지 :RequireJS 데이터를 메인 모듈 콜백 ​​

define(function bringTheAction() { console.log('Loaded!'); }); 

최적화 및 사용하여로드되는 데이터 주 :

<script data-main="src/app" src="lib/require.js"></script> 

와 RequireJS 파일로드 수행합니다

<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="app" src="src/app.js"></script> 

그러나, bringTheAction 콜백은 호출되지 않으며 내 앱은 아무 것도하지 않습니다.

내가 콘솔에서 require(['src/app']);를 수행하여 또는 지어지지 코드 requiredefine을 변경하여 물건을 킥오프 수 있지만 : 그대로

나의 이해에서
  • , 그것은 작동합니다;
  • 모듈을 Squire으로 조롱 할 수 있도록 define을 사용해야합니다.

    <script src="lib/require.js"></script> 
    <script src="src/require.config.js"></script> 
    <script>require({ /* config applicable to dev */ }, ['src/app'], function() {});</script> 
    

    를 그것은 꿈처럼 작동합니다 개발에

는 지어지지 코드는 다르게로드됩니다.

+0

내 질문에 무슨 문제가 있습니까? – c24w

답변

0

좋아, 나는 많은 혼란 끝에 이것을 알아 냈다.

나는 (RequireJS에 의해 주입 된 스크립트 태그에) 속성 data-requiremodule="app"를 발견하고 RequireJS가 어떤 파일이로드 한 번 require에 알 수 있도록 내가 data-requiremodule="src/app"입니다 필요한 가정합니다. 내 설정이 src/ 위의 디렉토리에서 동작하도록 조정되어 이후로는 (따라서 나는 src/, lib/ 등을 앞에 붙여 모듈을 참조),이 속성에 src/를 생략하는 이유

잘 모르겠어요. 그러나, 수정로, 나는 RequireJS를 충족하기 위해, 빌드 설정에 별명을 추가 :

paths: { 'app': 'src/app'; } 

지금 그 속성이 실제로로드 모듈 가리 킵니다.