JS模块化通用代码

(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define([], factory);
    } else if (typeof exports === 'object') {
        // Node. Does not work with strict CommonJS, but
        // only CommonJS-like environments that support module.exports,
        // like Node.
        module.exports = factory();
    } else {
        // Browser globals (root is window)
        root.download = factory();
  }
})(this, function () {
    return function xxx(foo, bar, barz) {
    }
});

原文地址:https://www.cnblogs.com/johnjackson/p/14275442.html