2016-02-18 101 views
1

我在使Backbone應用程序中的Gridstack工作時遇到問題。Gridstack.js在RequireJS中使用Underscore.js,jQuery和jQueryUI無法正確加載

一個精簡的RequireJS版本的配置是這樣的:

require.config({ 
    paths: { 
     jquery:      '../assets/packages/jquery/1.12.0/jquery.min', 
     underscore:     'libs/underscore/underscore-min', 
     jqueryui:      '../assets/packages/jqueryui/1.11.4/custom/jquery-ui.min',, 
     gridstack:     '../assets/packages/gridstack/0.2.4/gridstack.min', 
    }, 
    shim: { 
     "gridstack": { 
      deps: ["jquery", "jqueryui", "underscore"], 
     }, 
    } 
}); 

的問題是,Gridstack試圖找到獲取用於Lodash文件和jQueryUI的組成部分「核心」,「鼠標」,「拖動」 ,「可調整大小」和「小部件」。見下圖。

enter image description here

的骨幹視圖文件(再次,歸結)看起來是這樣的:

define([ 
    'jquery', 
    'jqueryui', 
    'underscore', 
    'backbone', 
    'gridstack', 
], function(
    $, 
    jqueryui, 
    _, 
    Backbone, 
    gridstack 
    ){ 

    var MyView = Backbone.View.extend({ 
     el: $("#page"), 
     className: "MyView", 

     initialize: function(){ 
      console.log('gridstack', gridstack); 
     }, 
    }); 

    return MyView; 
}); 

我使用Underscore.js(1.8.3),而不是Lodash,但應該是罰款每文檔在這裏:https://github.com/troolee/gridstack.js

是否有無論如何強迫Gridstack瞭解其所有的依賴項已經加載?

EDIT 2016年2月18日12點47分00秒

jQueryUI的從https://jqueryui.com/download/下載幷包括除工具提示一切;它與Bootstrap一起使用會導致問題。我發現很多人都得到了AMD版本的jQueryUI,例如:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&displaylang=zh-cn&displaylang=zh-cn通過鮑爾。但是,該軟件包對其他所有軟件都能正常工作,所以我傾向於認爲Gridstack存在問題。

+0

我已經在GitHub頁面上回答了這個問題:https://github.com/troolee/gridstack.js/issues/332 – dweiss

回答

0

雖然與Gridstack問題徘徊和Gridstack筆者不打算完全支持RequireJS(https://github.com/troolee/gridstack.js/issues/332),我發現所謂的Gridster的替代解決方案。

+0

基本上gridstack是gridster的替代:)我已經開始gridstack,因爲gridster並沒有開發不再適用於bootstrap 3等... 這是我如何使用requirejs,它對我有用http://take.ms/aTQkM –

+0

開發我不使用精簡版的js庫和然後使用almondjs構建一個js文件並將其縮小。結果js文件僅包含來自jq ui等需要的文件。無需獲取如此龐大的整個jq ui –

+0

請查看http://stackoverflow.com/questions/35582945/redundant-dependencies-with-requirejs –

相關問題