0
我使用的是require-jquery.js
,我试图将jquery-ui
添加到组合中。将jquery-ui加载为requirejs模块
如果我在我的主网页上使用这个定义,我得到的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'
。
我在做什么错?
试了一下,得到了相同的结果:( – Tomer
嗯只注意到jQuery是没有在任何地方定义。可能是这个问题吗? – robertklep
正如我在我的问题开始时提到的那样,我使用了require-jquery.js,它已经包含了jquery作为模块。 – Tomer