【问题标题】:Error: multipleDefine from Dojo & jQuery-UI conflict错误:来自 Dojo 和 jQuery-UI 冲突的 multipleDefine
【发布时间】:2016-09-03 12:21:23
【问题描述】:

我正在尝试创建一个可编辑的 SlickGrid(它使用 jquery-ui)并使用 Dojo。

当我的页面包含
<script src="../../bower_components/dojo/dojo.js"></script>
<script src="../../bower_components/SlickGrid/lib/jquery-ui-1.11.3.js"></script>
<script src="../../mlads/fillDemo/FillDemo.js"></script>
控制台显示

Error: multipleDefine
return mix(new Error(error), {src:"dojoLoader", info:info});  dojo.js (line 106)
src: dojoLoader   dojo.js (line 1896)
info: Object { pid="dijit",  mid="dijit/_WidgetsInTemplateMixin",  pack={...},  more...}

如果我注释掉 jquery-ui 行,错误就会消失。
FillDemo.js 是我的源代码,以

开头
require(
[    "dojo/_base/declare",
     "dijit/_WidgetBase", 
     "dijit/_TemplatedMixin",
     "dijit/_WidgetsInTemplateMixin",
     "dijit/registry",
     "dijit/form/Button", 
     "dijit/form/DropDownButton",

【问题讨论】:

    标签: jquery-ui dojo slickgrid


    【解决方案1】:

    看起来这是 jQuery UI 加载顺序与 dojo 加载器初始化时的错误。

    有关更多上下文,请参阅此处的讨论:https://geonet.esri.com/message/448542#comment-448449

    解决方案是确保在加载 jQuery UI 和 jQuery 之后调用 dojo loader。为此,您可以将dojo的加载移动到HTML页面的底部,并将jQuery和jQueryUI留在页眉中。

    【讨论】:

    • 将 jQuery UI 移到脚本列表的顶部对我有用!
    猜你喜欢
    • 2015-11-05
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多