为什么它不能加载requirejs模块?

时间:2016-07-26 11:27:44

标签: twitter-bootstrap requirejs

enter image description here

我的目录结构如上, 我将index.html中的脚本链接到了 <script src="lib/requirejs/require.js" data-main="js/app.js"></script>

js / app.js正在关注

require.config({
  paths : {
  'backbone' : 'lib/backbone/backbone-min.js',
  'underscore' : 'lib/underscore/underscore-min.js',
  'jquery' : 'lib/jquery/jquery.min.js',
  'bootstrap' : 'lib/bootstrap/bootstrap.min.js',
  },
  shim : {
    bootstrap : {
      deps : 'jquery'
    },

    backbone : {
      deps : ['jquery', 'underscore'],
      exports : 'Backbone'
    },
    underscore : {
      exports : '_'
    }
  }
});

require(['bootstrap'], function (bootstrap) {
  console.log('loaded')
})  

它无法加载引导程序。 控制台的日志是Uncaught Error: Invalid require call

1 个答案:

答案 0 :(得分:0)

正如所解释的那样in the documentation Invalid require call会在您执行以下呼叫时生成:

require("foo", function () {...})

这是无效的,因为你应该在第一个参数处有一个字符串数组。或者如果您使用的是CommonJS糖,那么您就不应该进行回调。

您展示的代码中没有require调用。您必须检查代码库以找到导致错误的调用实例。您可以搜索文件的文本。如果证明太困难,您可以更改代码以加载越来越少的模块,直到错误消失,然后逐个添加模块,直到错误恢复。这样可以缩小可能性范围。

我已经使用了您在问题中显示的每个库,但是没有一个库导致您报告的错误。您下载了这些库的错误构建,或者您在其他地方有自定义代码导致错误。