我的requirejs设置有什么问题

What is wrong with my requirejs setup?

本文关键字:什么 问题 设置 requirejs 我的      更新时间:2023-09-26

我的requirejs配置文件对我来说是正确的。 但是当我进入我的函数来启动我的应用程序时,我只能访问jQuery。 有人可以查看我的配置文件并告诉我我做错了什么吗? 为什么我看不到 Backbone 或 Underscore,为什么我可以看到 jQuery? 这是我的配置文件:

require.config({
  paths: {
    jquery: "libs/jquery/jquery",
    underscore: 'libs/underscore/underscore',
    backbone: "libs/backbone/backbone"
  },
  shims: {
    backbone: {
      deps: [
        'underscore',
        'jquery'
      ],
      exports: 'Backbone'
    },
    underscore: {
      exports: '_'
    }
  }
});
require(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {
  'use strict';
  debugger;
});

感谢您的帮助。

我认为你有垫片而不是单数垫片,更改它应该可以解决您的问题。

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

您使用的下划线和主干网版本不符合 AMD 标准,因此它们不会以需要的方式返回.js需要它们。您可以将它们从函数参数中移除,它们将在全局范围内可用。否则,您将 undefined 作为 _ 和 Backbone 的值传递到您的函数中。

require(['jquery', 'underscore', 'backbone'], function() {
  console.log($);
  console.log(_);
  console.log(Backbone);
});