backbone.js annotated source描述了以下代码
var Backbone;
if (typeof exports !== 'undefined') {
Backbone = exports;
} else {
Backbone = root.Backbone = {};
}
as“顶级命名空间。所有公共Backbone类和模块都将附加到此。为CommonJS和浏览器导出。”
在此上下文中“为浏览器导出”是什么意思?
答案 0 :(得分:1)
在CommonJS中,您的模块被隔离,您想要与需要的东西共享的任何内容都通过“exports”变量共享。例如,Node.js使用它。
另一方面,如果您只是在浏览器中,那么您不使用exports
变量,并在root
中添加一个最终指向window
的新变量} global var。
换句话说,如果我们使用支持CommonJS的东西,请导出Backbone。如果没有,请将其置于根上下文中。