我们有一个使用jQuery的JavaScript应用程序,并具有以下加载库的块。这大部分时间都可以正常工作,但是随机时间jquery-1.11.2.min lib似乎没有及时加载jquery-ui.min lib,所以我得到一个ReferenceError,说jQuery没有在jquery中定义 - ui.min lib。 据我所知,libs应该按顺序加载,所以我不确定为什么会这样,所以任何想法都会很棒:
<script type="text/javascript">
var dojoConfig = {
async: true,
paths: {
"libs": location.pathname.replace(/\/[^/]+$/, '') + "/js/lib",
"actions": location.pathname.replace(/\/[^/]+$/, '') + "/js/actions"
},
packages: [
{ name: "jquery", location: "//code.jquery.com", main: "jquery-1.11.2.min" },
{ name: "jqueryui", location: "//code.jquery.com/ui/1.10.3", main: "jquery-ui.min" },
{ name: "moment", location: location.pathname.replace(/\/[^/]+$/, '') + "/js/lib/moment", main: "moment" }
]
};
</script>
答案 0 :(得分:1)
您的问题在于async:true
属性
jqueryui依赖于jquery因为你必须加载jquery然后jqueryui当它是异步时它可以加载jqueryui然后jquery,这会抛出错误
<强> EDIT1 强>
如果您希望继续使用async:true
属性,请尝试使用deps属性
: deps:一旦加载Dojo后应立即加载的资源路径数组: deps:[“dojo / parser”]
deps (模块标识符字符串数组)/回调(函数) 这些配置变量仅在加载加载器之前适用。提供时,它们会导致加载程序在加载完成后执行require(deps,callback)。