无法要求jqueryui

时间:2014-04-21 11:03:23

标签: javascript requirejs

我尝试要求jquery UI库但是如果我尝试使用它们未定义的函数。

这是代码

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);

“手风琴”不是一种功能。

任何想法?

1 个答案:

答案 0 :(得分:0)

您正在展示的代码存在一些问题。您的define来电应该是require来电。你的参数列表不正确:

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

您在问题中_的方式会得到一个未定义的值,Backbone将绑定到underscore模块。

您的data-main不应包含.js扩展名。 data-main的值是模块名称。 RequireJS&#39;模块名称通常不应包含扩展名。