2015-03-02 22 views
0

因此,這裏是我的main.js文件(去掉了我的所有其他腳本清晰度):加載soundmanager2與requirejs AMD墊片,日誌未定義

require.config({ 
    paths: { 
     'soundmanager2': '../libs/soundmanager2/soundmanager2', 
    }, 
    shim: { 
     'soundmanager2': { 
      'exports': 'soundManager' 
     } 
    } 
}); 

然後我加載庫,像這樣:

define(['jquery', 'underscore', 'backbone', 'utilities/events', 'utilities/helpers', 'soundmanager2'], 

    function($, _, Backbone, events, h, soundManager){ 

     var TrackModel = Backbone.Model.extend({ 

      initialize: function() { 

       console.log(soundManager); 
      } 
     }); 

     return TrackModel; 
    } 
); 

腳本正在下載 - 但是當我登錄soundManager時,我得到未定義的,沒有其他錯誤。

任何想法?恐懼我失去了明顯的東西..

回答

0

這是soundmanager2版本的問題 - 它有AMD的烘烤,但我不能讓它出口由於某種原因。我回到了早期版本,使用墊片,並修復它!

+0

你用的什麼版本? – user1434702 2016-04-09 03:42:41

1

我在源代碼註釋中找到requirejs的用法,但文檔沒有說明。這裏是例子。

define(['soundManager2'], function(SoundManager) { 
    var sound = SoundManager.getInstance(); 
    sound.setup({ 
     useHTML5Audio: true, 
     idPrefix: '', 
     onready: function() {}, 
     ontimeout: function() {} 
    }); 
    sound.beginDelayedInit(); 
}) 

enter image description here