javascript模块导出模式

时间:2011-11-18 06:20:53

标签: javascript design-patterns

有人可以解释一下导出变量是什么:

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

https://gist.github.com/1375748

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

1 个答案:

答案 0 :(得分:12)

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

  

在一个模块中,有一个名为“exports”的自由变量,即   模块可以在执行时添加其API的对象。

因此,基本上添加到exports对象会定义模块公开的API。