我正在使用文档中描述的私有 jquery。
jquery-private.js
define(['jquery'], function (jq) {
return jq.noConflict( true );
});
我的配置文件如下所示:
requirejs.config({
paths: {
'jquery': 'lib/jquery',
'jquery.ui.core': 'lib/jquery-ui-1.10.3/ui/jquery.ui.core',
'jquery.ui.widget': 'lib/jquery-ui-1.10.3/ui/jquery.ui.widget',
'jquery.ui.datepicker': 'lib/jquery-ui-1.10.3/ui/jquery.ui.datepicker',
'jquery-private': 'lib/jquery-private'
},
shim: {
'jquery.ui.core': {
deps: ['jquery']
},
'jquery.ui.widget': {
deps: ['jquery.ui.core']
},
'jquery.ui.datepicker': {
deps: ['jquery.ui.widget']
},
},
map: {
'*': { 'jquery': 'jquery-private' },
'jquery-private': { 'jquery': 'jquery' }
}
});
requirejs(["app/main"]);
除 jquery-ui 外,一切正常,它在内部崩溃,因为$ is undefined
它不再导出到全局范围。
define(['page/lib/address', 'jquery', 'jquery.ui.datepicker'], function(address, $) {
$( "#my-date" ).datepicker(); //crashes here
});
当 jquery 是私有的时,是否可以使用 jquery-ui?