RequireJs - 使用带有private-jquery.js的jQuery UI

时间:2013-07-06 07:15:19

标签: jquery jquery-ui requirejs

我正在使用文档中描述的私有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?

0 个答案:

没有答案