2014-04-21 4 views
1

jquery UI 라이브러리가 필요하지만 기능을 사용하려고하면 정의되지 않았습니다.jqueryui를 요구할 수 없습니다

여기에 코드를

RequireJS 2.1.11

<script data-main="/js/lpapi/v3/qfapi.js" src="/vendor/requirejs/require.min.js"></script> 

qfapi.js

(function() { 
    require.config({ 
    paths: { 
     jquery: '/jquery/jquery-1.11.0.min', 
     jqueryui: '/vendor/jqueryui/jquery-ui-1.10.4.custom.min', 
     backbone: '/vendor/backbone/backbone-min', 
     underscore: '/vendor/underscore/underscore-min' 
    }, 
    shim: { 
     "jqueryui": { 
     deps: ['jquery'], 
     exports: '$' 
     }, 
     "underscore": { 
     exports: "_" 
     }, 
     "backbone": { 
     exports: 'Backbone', 
     deps: ['underscore', "jquery"] 
     } 
    } 
    }); 

    define(["jquery", "jqueryui", "backbone", "underscore"], function($, _, Backbone) { 
    console.log("jquery is loaded"); 
    console.log("jqueryui is loaded"); 
    console.log("underscore is loaded"); 
    console.log("backbone is loaded"); 
    $("#accordion").accordion(); 
    return true; 
    }); 

}).call(this); 

은 "아코디언"인 함수가 아닙니다.

어떤 아이디어가 있습니까?

답변

0

표시하려는 코드에 몇 가지 문제가 있습니다. define 통화는 require 통화이어야합니다. 그리고 인수 목록이 올바르지 않습니다 :

require(["jquery", "backbone", "underscore", "jqueryui"], function($, _, Backbone) { 

정의되지 않은 값을 얻을 것이며 Backboneunderscore 모듈에 결합 될 수 귀하의 질문 _에이 방법.

data-main에는 .js 확장자가 포함되지 않아야합니다. data-main의 값은 모듈 이름입니다. RequireJS '모듈 이름에는 일반적으로 확장자가 포함되어서는 안됩니다.

관련 문제