1

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

4

0 回答 0