2013-08-04 135 views
3

我想使用RequireJS來管理我站點中的插件。我使用映射插件的淘汰賽,並且我正在閱讀以下答案https://stackoverflow.com/a/16449509/1070291,並且我在解決問題時遇到了一些麻煩。使用requireJS進行挖掘映射

回調似乎運行後的實際需要()語句,沒有定義

任何想法,我缺少的是什麼,這意味着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列出的所有相關性加載

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

Check Fiddle

從文檔

這個回調函數將被調用。

因爲您不需要mapping模塊,所以稍後在加載映射模塊時調用回調。

+0

太棒了,這似乎把它整理出來。 –