兼容 AMD 和 COMMONJS 的模块写法

兼容 AMD 和 COMMONJS 写法——定义兼容node环境和浏览器(AMD)环境的模块

// 兼容AMD和COMMONJS写法
(function (factory) {
    // node环境
    if (typeof require === 'function'
        && typeof exports === 'object'
        && typeof module === 'object') {
        factory(require, exports, module);
    }
    // 浏览器AMD环境
    else if (typeof define === 'function' && define['amd']) {
        define(factory);
    }
})(factory);

// 工厂函数
function factory(require, exports, module) {
    // codes here
    exports.build = function () {

    };
    ...
}

可以用来写一份模块同时用于浏览器端和server端...

原文地址:https://www.cnblogs.com/zhiqiangzhang37/p/4181145.html