我在使Gridstack在Backbone应用程序中工作时遇到问题。

精简版的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组件“ core”,“ mouse”,“ draggable”,“ resizable”和“ widget”查找获取文件。参见下图。

javascript - Gridstack.js无法使用Underscore.js,jQuery和jQueryUI在RequireJS中正确加载-LMLPHP

Backbone视图文件(再次,已归结)如下所示:

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理解其所有依赖项都已加载的信息?

编辑2016-02-18 12:47:00

jQueryUI是从https://jqueryui.com/download/下载的,其中包含工具提示之外的所有内容;与Bootstrap一起使用时会引起问题。

我看到很多人都使用AMD版的jQu​​eryUI,例如通过凉亭。但是,该程序包对于其他所有功能都适用,因此我倾向于认为问题出在Gridstack上。

最佳答案

尽管Gridstack的问题仍然存在,并且Gridstack的作者并不打算完全支持RequireJS(https://github.com/troolee/gridstack.js/issues/332),但我发现了另一个名为Gridster的解决方案。

10-04 22:37