关于使用requirejs的依赖项

时间:2012-09-25 14:11:05

标签: javascript backbone.js requirejs marionette

让我们假设我在以下背景中。

我需要使用
需要backboneunderscore的{​​{1}} 和
需要jquerybackbone.marionettebackbone

underscore

我应该写这段代码(1)还是下面的(2)


(1)

jquery

(2)

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

1 个答案:

答案 0 :(得分:2)

您不需要在牵线木偶的依赖项中包含下划线和jquery,因为它们已经为Backbone加载了。但是对(2)的几处更正:

  1. 你应该shim下划线,并导出'_',因为它应该在全局命名空间中。
  2. Marionette是一个Backbone插件,所以你不需要导出任何东西,或者你可以导出'Backbone.Marionette'(见http://requirejs.org/docs/api.html#config-shim
  3. 我就是这样做的:

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