“导出到浏览器”是什么意思?

时间:2011-12-19 01:21:24

标签: javascript backbone.js

backbone.js annotated source描述了以下代码

  var Backbone;
  if (typeof exports !== 'undefined') {
    Backbone = exports;
  } else {
    Backbone = root.Backbone = {};
  }

as“顶级命名空间。所有公共Backbone类和模块都将附加到此。为CommonJS和浏览器导出。”

在此上下文中“为浏览器导出”是什么意思?

1 个答案:

答案 0 :(得分:1)

在CommonJS中,您的模块被隔离,您想要与需要的东西共享的任何内容都通过“exports”变量共享。例如,Node.js使用它。

另一方面,如果您只是在浏览器中,那么您不使用exports变量,并在root中添加一个最终指向window的新变量} global var。

换句话说,如果我们使用支持CommonJS的东西,请导出Backbone。如果没有,请将其置于根上下文中。