2012-11-23 58 views
1

我想在我的項目中使用一些jQuery插件(我正在使用RequireJS)。但我不明白該怎麼做。我試圖按照這個:http://requirejs.org/docs/api.html#config-shim根據我的理解,它建立了數組內部的依賴關係。我以爲我可以在一個模塊中做到這一點:使用jQuery插件

define(['ui'], function($) { 

} 

但它不起作用。我錯過了什麼? 這是從我的require.config:

shim: { 
     'ui': { 
      'deps': ['jquery'] 
     }, 
     'tools': { 
      'deps': ['jquery', 'ui'] 
     } 
} 

和路徑;

'paths': { 
    'jquery': 'lib/jquery/jquery', 
    'ui': 'jquery/jquery-ui.min', 
    'tools': 'jquery/jquery.tools.min',    
}, 
+0

具有u定義在配置 – deven98602

+0

的UI和路徑工具@ deven98602更新。 – user626912

+0

啊,它似乎正在工作,你必須指定依賴和正常使用'$'。 – user626912

回答

1
requirejs.config({ 
'paths': { 
    'jquery': 'lib/jquery/jquery', 
    'ui': 'jquery/jquery-ui.min', 
    'tools': 'jquery/jquery.tools.min',    
}, 
    shim:{ 
     'ui': { 
      'deps': ['jquery'], 
      // exports :'ui' As they are jquery plugins they will not require exports 
     }, 
     'tools': { 
      'deps': ['jquery', 'ui'], 
      //exports : 'tools' 
     } 
} 
}); 

define(['jquery'], function($) { 

} 
+0

你能否解釋shim中的'exports'和'init'? – user626912

+0

導出用於使模塊名稱可用於其他依賴它的模塊。它用於非amd模塊。在導出模塊名稱之前調用init函數,通常用於清理,如調用noConflicft()以避免覆蓋已存在的模塊名稱 – deven98602

+0

我在哪裏使用這些模塊名稱?是否與定義中的模塊ID相同 – user626912