我在获取 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 组件“核心”、“鼠标”、“可拖动”、“可调整大小”和“小部件”的获取文件。见下图。
Backbone View 文件(再次简化)如下所示:
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 版本的 jQueryUI,例如通过鲍尔。然而,这个包对于其他一切都工作得很好,所以我倾向于认为问题出在 Gridstack 上。
最佳答案
虽然 Gridstack 的问题仍然存在,并且 Gridstack 的作者并不打算完全支持 RequireJS ( https://github.com/troolee/gridstack.js/issues/332 ),但我找到了一个名为 Gridster 的替代解决方案。 。
关于javascript - 使用 Underscore.js、jQuery 和 jQueryUI 在 RequireJS 中无法正确加载 Gridstack.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35480483/