2013-05-28 58 views
0

到Rails我用的寶石文件gem 'jquery-ui-rails',但我不知道該如何得到它的工作使用需要,因爲它進行模塊化的JS文件,骨幹,因爲它會增加整個客戶端框架。如何添加jQuery UI的使用Require.js和骨幹

application.css(導軌):

*= require bootstrap 
*= require jquery.ui.all 
*= require_self 
*= require_tree . 
*/ 

的application.js(導軌):

require([ 
'APP' 
], function(Application){ 
    Application.initialize(App.options); 
}); 

movableObject.html(骨幹模板):

<div id="draggable" class="btn-group" data-toggle="buttons-radio"> 
</div> 

我曾嘗試在不同的地方調用函數$(function() {$("#draggable").draggable();})(骨幹視圖,在應用程序中更高),但是要麼獲得jQuery沒有定義(在應用程序加載時太高)或者對象沒有函數draggable()(導致我相信jQuery UI的JS尚未加載)。

我也有jquery-ui-1.10.3.custom.cssjquery-ui-1.10.3.custom.min.css在我dled並直接放在那裏的stylesheets文件夾中。

回答

3

到requirejs.yml文件:

modules: 
    - name: 'backbone' 
    - name: 'routers' 

shim: 
    'underscore': 
    deps: ['jquery'] 
    exports: '_' 
    'backbone': 
    deps: ['underscore', 'jquery'] 
    exports: 'Backbone' 
    'jquery-ui': 
    deps: ['jquery'] 
    exports: '$' 

要在application.js文件名爲JS文件,在這種情況下,因爲'APP'APP.js

//APP.js 
define([ 
    'jquery', 
    'underscore', 
    'backbone', 
    'backbone/routers/router', 
    'd3', 
    'jquery-ui' 
], function($, _, Backbone, Router, d3, $){ 
    var initialize = function(options){ 
    Router.initialize(options); 
    } 
    return { 
    initialize: initialize 
    }; 
});