words

AMD Module boilerplate with global fallback

(function (window, undefined) {

    var PoniesModule = {
        info: "Yeeey"
    };

    // node
    if (typeof module === "object" && typeof module.exports === "object") {
        module.exports = PoniesModule;
    }
    // window 	
    else {
        window.PoniesModule = PoniesModule;
        // requireJS  
        if (typeof define === "function" && define.amd) {
            define("poniesmodule", [], function () {
                return PoniesModule;
            });
        }
    }

})(this);

Usage example

require.config({
    paths: {
        "poniesmodule": "http://jsbin.com/uyucoq/latest.js"
    }
});

require(['poniesmodule'], function (poniesmodule) {
    console.log('app.init..', poniesmodule);
});

Demos: definition | usage

I think one thing is missing: delete global after loading module with requireJS..

Last updated: