0

我正在使用require-jquery.js,我正在尝试添加jquery-ui到组合中。

如果我在我的主页上使用这个定义,我会正确地得到 jquery-ui:

// load main app
        require( { paths: {
            'jqueryui': 'cafe/lib/jqueryui',
            'ca': 'cafe/ca',
            'ko': 'cafe/lib/knockout/knockout',
            'komap': 'cafe/lib/knockout/knockout.mapping',
            'kopost': 'cafe/lib/knockout/knockout-postbox',
            'jd': 'cafe/lib/jaydata-1.2.5/jaydata',
            'jdKo': 'cafe/lib/jaydata-1.2.5/jaydatamodules/knockout',
            'jdDeferred': 'cafe/lib/jaydata-1.2.5/jaydatamodules/deferred',
        },
        waitSeconds: 60,
        shim: {
            'jd': { exports: '$data', deps: [ 'cafe/lib/jaydata-1.2.5/datajs-1.0.3' ] },
            'jdDeferred': { exports: '$data', deps: [ 'jd' ] },
        }
    }, [ 'jquery',  'ko', 'cafe/log', 'sp/app','jqueryui' ], function($, ko, log, app ) {
        //this logs the ui object properly
        console.log($.ui);

    } );

但是当我尝试从另一个模块调用它时:

define(['jquery', 'ko','jqueryui'], function ($, ko) 

我从 require.js 得到一个错误:Uncaught TypeError: Object 0 has no method 'match'

我究竟做错了什么?

4

1 回答 1

0

尝试将配置对象放在单独的require.config调用中:

require.config({
  paths : { ... }
});

另请参阅有关 RequireJS 配置的此页面。

于 2013-01-20T09:46:26.637 回答