Error: multipleDefine from Dojo & jQuery-UI conflict
Error: multipleDefine from Dojo & jQuery-UI conflict
我正在尝试创建一个可编辑的 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 加载程序初始化时的顺序错误。
有关更多上下文,请参阅此处的讨论:https://geonet.esri.com/message/448542#comment-448449
解决方案是确保在 jQuery UI 和 jQuery 加载后调用 dojo 加载程序。为此,你可以将dojo的加载移到HTML页面的底部,并在header中留下jQuery和jQueryUI。
我正在尝试创建一个可编辑的 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 加载程序初始化时的顺序错误。
有关更多上下文,请参阅此处的讨论:https://geonet.esri.com/message/448542#comment-448449
解决方案是确保在 jQuery UI 和 jQuery 加载后调用 dojo 加载程序。为此,你可以将dojo的加载移到HTML页面的底部,并在header中留下jQuery和jQueryUI。