2013-08-04 2 views
3

내 사이트에서 플러그인을 관리하려면 RequireJS를 사용하고 싶습니다. 맵핑 플러그인을 사용하여 녹아웃을 사용하고 다음 답변을 읽으 셨습니다 https://stackoverflow.com/a/16449509/1070291 그리고 나는 점점 더 어려워지고 있습니다.요구 사항이있는 녹아웃 매핑

콜백은 실제가

내가 부족 어떤 생각

을 정의되지 않은 ko.mapping을 의미한다() 문을 요구 한 후 실행하는 것? 여기

<script> 
    var require = { 
     paths: { 
      "knockout": "//cdnjs.cloudflare.com/ajax/libs/knockout/2.2.1/knockout-min", 
      "mapping": "//cdnjs.cloudflare.com/ajax/libs/knockout.mapping/2.3.5/knockout.mapping" 
     }, 
     deps: ['knockout', 'mapping'], 
     callback: function (ko, mapping) { 
      ko.mapping = mapping; 
     } 
    }; 
</script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.1.8/require.min.js"></script> 
<script> 
    require(['knockout'], function (ko) { 
     alert('ko: ' + ko + ', mapping: ' + ko.mapping); 
    }); 
</script> 

JsFiddle : http://jsfiddle.net/WLegU/2/

답변

2

당신은 그것을 작동하게하는 것은 거의 가까웠다. 누락 된 유일한 부분은 mapping 모듈을 요구해야한다는 것입니다. 모듈은 의존성이기 때문에 먼저 콜백을 호출합니다. 이 deps에 위에 나열된 모든 종속성이로드 될 때 문서

이 콜백 함수에서

Check Fiddle

require(['knockout', 'mapping'], function (ko) { 
    console.log('ko: ' + ko + ', mapping: ' + ko.mapping); 
}); 

가 호출됩니다.

mapping 모듈을 필요로하지 않았기 때문에 나중에 매핑 모듈을로드 할 때 콜백이 호출되었습니다.

+0

굉장한 것 같아요. –