(function(factory) {
// 定义全局对象 root 变量,在浏览器环境下为 window,在 服务器 环境下为 global, self 指向window
var root = (typeof self == 'object' && self.self === self && self) ||
(typeof global == 'object' && global.global === global && global);
// 支持AMD规范
// 使用define函数定义Backbone模块, 依赖`jquery`, `exports`两个个模块.
if (typeof define === 'function' && define.amd) {
define(['jquery', 'exports'], function($, exports) {
factory(root, exports,$);
});
// 支持 commonJs 规范
// CommonJS规范中, exports是用于导出模块的对象.
} else if (typeof exports !== 'undefined') {
var $;
try { $ = require('jquery'); } catch (e) {}
factory(root, exports,$);
// 以上两种情况都没有,则以最简单的执行函数方式,将函数的返回值作为全局对象Backbone
} else {
factory(root, {}, (root.jQuery || root.Zepto || root.ender || root.$));
}
})(function(){
})