问题描述
我试图在一个共享项目中使用jquery ui,由于jquery已经加载,当我需要jquery ui的手风琴时,我看不出再次要求它的原因。
我已经按照所有步骤进行操作,并添加了与require js一起使用的文件夹。如: https://learn.jquery.com/jquery-ui/environments/amd/
但我仍然遇到相同的错误:
Script error for "jquery",needed by: jqueryui/widgets/accordion,jqueryui/version,jqueryui/keycode,jqueryui/unique-id,jqueryui/widget
这是我的代码:
function main() {
require({
paths: {
jqueryui: '/teams/sp-test-site/dist/jQuery/ui/1.12.1',},shim: {
deps: [ 'jquery',],[ 'jqueryui/widgets/accordion',function (accordion) {
$('#accordion').accordion();
});
}
ExecuteOrDelayUntilScriptLoaded(function () {
SP.soD.executeFunc('require.js',null,main);
},'core.js');
所以我假设我缺少一些初始化函数来使用已经从全局变量中加载的jquery,我只是不确定如何,如果是这样的话。有谁知道这里可能出什么问题了吗?
解决方法
定义jquery并返回已解决的全局查询。
define('jquery',[],function () {
return window.jQuery;
});