【发布时间】:2014-01-10 17:40:20
【问题描述】:
我有一个 jQuery 插件,它依赖于首先加载的 jQuery。我使用shim 和require([]) 来确保首先加载jQuery。
有时该应用程序可以工作,但通常它不会并给我以下错误:
Uncaught TypeError: Object [object Object] has no method 'noUiSlider'
...这表示 jQuery 没有被首先加载。我做错了什么?
这是我的应用程序的主脚本:
requirejs.config({
"baseUrl": "app/",
"paths": {
"app": "./app",
"threejs" : "../lib/three.min",
"jquery" : "../lib/jquery",
"jquery.nouislider.min": "../lib/jquery.nouislider.min"
},
"shim": {
"jquery.nouislider.min": {
deps: ["jquery"],
init: function($) {
return this;
}
}
}
});
require([
"jquery",
"jquery.nouislider.min",
"threejs",
"Scene"
],
function ($) {
var glScene = new Scene();
glScene.clockStart();
$(function(){
var slider = $("<div></div>");
slider.attr("id", "sample-minimal");
$("body").append(slider);
$("#sample-minimal").noUiSlider({
range: [0, 100]
,start: [20, 80]
,connect: true
});
});
function onWindowResize(event) {
glScene.windowResize();
}
});
【问题讨论】:
标签: javascript jquery jquery-plugins requirejs