backbone.js annotated source描述了下面的一段代码
var Backbone;
if (typeof exports !== 'undefined') {
Backbone = exports;
} else {
Backbone = root.Backbone = {};
}
作为“顶级命名空间。所有公共(public) Backbone 类和模块都将附加到此。为 CommonJS 和浏览器导出。”
在这种情况下,“为浏览器导出”是什么意思?
最佳答案
在 CommonJS 中,你的模块是隔离的,任何你想与需要你的东西共享的东西都是通过“exports”变量共享的。例如,Node.js 就使用了它。
另一方面,如果您只是在浏览器中,则不使用 exports
变量,而是在 root
中添加一个新变量,最终指向到 window
全局变量。
换句话说,如果我们使用支持 CommonJS 的东西,导出 Backbone。如果不是,则将其放在根上下文中。
关于javascript - "export to the browser"是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556237/