【问题标题】:Uncaught Error: Bootstrap's JavaScript requires jQuery with requirejs未捕获的错误:Bootstrap 的 JavaScript 需要 jQuery 和 requirejs
【发布时间】:2015-06-01 16:44:08
【问题描述】:

我收到这个错误,说 jQuery 没有定义。

bootstrap.js:8 未捕获错误:Bootstrap 的 JavaScript 需要 jQuerybootstrap.js:8(匿名函数)

引导程序 v3.3.0

jQuery JavaScript 库 v2.1.3

需要js

 require.config({
shim: {
    'backbone': {
        deps: ['underscore', 'jquery']
    },
    'backbone-validation': {
        deps: ['backbone', 'jquery']
    },
    'jquerymx': {
        deps: ['jquery']
    },
    'bootstrap': {
        deps: ['jquery']
    }
},
paths: {
    'jquery': '/public/js/lib/jquery-2.1.3',
    'jquerymx': '/public/js/lib/jquerymx-3.2.custom',
    'bootstrap': '/public/js/lib/bootstrap',
    'handlebars': '/public/js/lib/handlebars-v2.0.0',
    'underscore': '/public/js/lib/underscore',
    'backbone': '/public/js/lib/backbone',
    'backbone-validation': '/public/js/lib/backbone-validation'
}
});
require(
[
    'order!jquery',
    'order!jquerymx',
    'order!bootstrap',
    'order!handlebars',
    'order!underscore',
    'order!backbone',
    'order!backbone-validation'
], function () {

    require(['main'], function (main) {
        main.initialize();
    });
});

这里有什么问题吗?

谢谢。

【问题讨论】:

    标签: jquery twitter-bootstrap backbone.js twitter-bootstrap-3 requirejs


    【解决方案1】:

    一些建议:

    首先,RequireJS 2.0 不再支持或不再需要 order 插件。 shim 配置完全能够表达你需要做什么。 See here 了解详情。

    其次,我有点困惑,为什么您同时将 jqueryjquery.min 列为依赖项。他们应该提供完全相同的东西,jquery.min 只是一个较小的文件。当您两次提取相同的代码时,某些 JS 可能会感到困惑,这可能就是这里发生的情况。尝试从您的配置中删除所有 jquery.min 实例。

    最后,您的两阶段require(...) 呼叫似乎没有必要。假设您的 main 模块直接列出了它需要的库,您应该可以这样做:

    require(['main'], function (main) {
        main.initialize();
    });
    

    如果上述建议没有帮助,请提供更多详细信息 - 即 main 模块中的内容。

    【讨论】:

      猜你喜欢
      • 2016-02-17
      • 2016-12-14
      • 2016-08-16
      • 2014-05-04
      • 2020-08-16
      • 2018-01-31
      • 1970-01-01
      • 2020-05-28
      • 2018-03-17
      相关资源
      最近更新 更多