2014-09-29 43 views
0

我的項目目前有jquery.hammer和hammer.js。如何僅使用requirejs訪問特定作用域的hammer.js?使用require js裝載錘子

Hammer.js有如下定義模塊:

if (typeof define == TYPE_FUNCTION && define.amd) { 
    define(function() { 
     return Hammer; 
    }); 
} else if (typeof module != 'undefined' && module.exports) { 
    module.exports = Hammer; 
} else { 
    window[exportName] = Hammer; 
} 

我嘗試使用下面的代碼加載它 -

require(['hammer'], function (Hammer) { 
     mod = Hammer; // Do something later with mod 
    }); 

我收到此錯誤:「未捕獲的錯誤:不匹配匿名define()module:function(){ return Hammer; } http://requirejs.org/docs/errors.html#mismatch

回答

0

當你在你的HTML添加錘子JS腳本中的標籤,如果您的情況下刪除它,僅僅依靠requirejs加載可能發生這個錯誤是

0

你必須命名模塊:

if (typeof define == TYPE_FUNCTION && define.amd) { 
    define('hammer',function() { 
     return Hammer; 
    }); 
} else if (typeof module != 'undefined' && module.exports) { 
    module.exports = Hammer; 
} else { 
    window[exportName] = Hammer; 
}