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..