father::JS的模块化规范

实例

(function (root, factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD
        define(['dependency1', 'dependency2'], factory);
    } else if (typeof module === 'object' && module.exports) {
        // CommonJS
        module.exports = factory(require('dependency1'), require('dependency2'));
    } else {
        // Browser globals
        root.myModule = factory(root.dependency1, root.dependency2);
    }
}(typeof self !== 'undefined' ? self : this, function (dep1, dep2) {
    // Module code here
    return {
        // Module exports (if any)
    };
}));