// Save a reference to the global object (`window` in the browser, `exports`
// on the server).
var root = this;
什么是出口?我可以理解将 root.Backbone 设置为对象文字,因为现在可以向它添加属性。
但是,上面源代码中的注释暗示this
指向浏览器中的窗口和服务器上的导出?
这是真的?
我问的原因是因为这里的代码:
var Backbone;
if (typeof exports !== 'undefined') {
Backbone = exports;
} else {
Backbone = root.Backbone = {};
}
你为什么要定义命名空间之外的所有模块(导出),违背了包含库的闭包的目的。