javascript模块导出模式

Xia*_*Guo 7 javascript design-patterns

有人可以解释什么是出口变量:

从backbone.js复制,我也注意到spine.js使用相同的模式.

https://gist.github.com/1375748

var Backbone;
if (typeof exports !== 'undefined') {
    Backbone = exports;
} else {
    Backbone = root.Backbone = {};
}
Run Code Online (Sandbox Code Playgroud)

Daf*_*aff 12

该模块模式是CommonJS规范的一部分,名为CommonJS Modules:

在一个模块中,有一个名为"exports"的自由变量,它是模块在执行时可以添加其API的对象.

所以基本上添加到exports对象定义了模块公开的API.