require.js shim,导出myOwnGlobal名称

opa*_*ara 1 require requirejs

我不确定在shim config上使用"exports",按照requireJS API上的示例,我可以使用Backbone(大写字母B)将其导出到全局范围.这意味着它将是一个窗口对象属性.但我意识到我被迫使用该名称,我无法通过其他参考名称导出它,即:"MyGlobalBackbone"

require.config({
  paths: {
    backboneAlias:'backbone'
  },
  shim : {
    backboneAlias : {
      deps : [ 'underscore', 'jquery-1.9.1' ],
      exports  : 'MyGlobalBackbone'
    }
  }
});

require(['backboneAlias'],function(backboneAsAliasDependency){
  console.log(backboneAsAliasDependency);//Loaded Ok
  console.log(MyGlobalBackbone); //Uncaught ReferenceError: MyGlobalBackbone is not     defined 
});
Run Code Online (Sandbox Code Playgroud)

此代码仅在我使用"Backbone"而不是"MyGlobalBackbone"时才有效...

kry*_*ger 7

实际上你反过来说:shimming不会将变量导出到全局范围,它会从全局范围导入它.名称("Backbone")由Backbone的作者设置,这是您在shimconfig元素中向RequireJS解释的部分.