2014-04-01 24 views
0

我的jQuery庫正在加載,但我得到一個未定義的錯誤,我正在導入任何其他模塊。他們中的大多數都具有jQuery依賴關係,我可以在其中找到。有誰能告訴我爲什麼我的其他模塊都是未定義的嗎?使用require js獲取未定義的所有其他模塊jQuery

requirejs.config({ 
    baseUrl: 'js', 
    shim: { 
     'jqueryui': ['jquery'], 
     'dynatree': ['jquery'], 
     'noty' : ['jquery'] 
    }, 
    paths: { 
     jquery: 'vendor/jquery', 
     jqueryui: 'vendor/jqueryui', 
     dynatree: '../includes/dynatree/jquery.dynatree.min', 
     jsPlumb: '../includes/jsPlumb/dist/js/jquery.jsPlumb-1.5.5-min', 
     noty: '../includes/noty/packaged/jquery.noty.packaged.min' 
    } 
}); 

requirejs(['jquery', 'jqueryui', 'dynatree', 'jsPlumb', 'noty'], 
    function ($, jqueryui, dynatree, jsPlumb, noty) { 

     console.log('hello', $, noty, jsPlumb, dynatree); 
    }); 

回答

1

jquery ui沒有出口任何東西,它使用相同的jquery符號。我想說的其他圖書館也是如此。

即使在他們導出某些東西的情況下,它也不會工作,因爲您沒有爲墊片設置導出符號。這裏有一個墊片的一個例子與出口

shim: { 
    'backbone': { 
     deps: ['underscore', 'jquery'], 
     //Once loaded, use the global 'Backbone' as the module value. 
     exports: 'Backbone' 
    }, 
} 

我想通過

requirejs(['jquery', 'jqueryui', 'dynatree', 'jsPlumb', 'noty'], 
    function ($) { // $ is the only symbol that needs to be used 

    }); 
+0

更換你的代碼jsPlumb應該有它自己的對象和方法。我嘗試過使用它,但仍然沒有定義。我會嘗試添加一個導出方法。 – Organiccat

+0

@Organiccat:我在您的墊片配置上看不到'jsPlumb'。嘗試使用導出設置填充此庫,如我在示例中所示。 –

+0

是的,這是問題所在,我添加了正確的代碼並在需要時導出並修復了它。謝謝! – Organiccat

相關問題