Created
January 11, 2016 15:39
-
-
Save crazy4groovy/a18718de202b4d49c583 to your computer and use it in GitHub Desktop.
ifandelse.com/its-not-hard-making-your-library-support-amd-and-commonjs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function (root, factory) { | |
if(typeof define === "function" && define.amd) { | |
// Now we're wrapping the factory and assigning the return | |
// value to the root (window) and returning it as well to | |
// the AMD loader. | |
define(["postal"], function(postal){ | |
return (root.myModule = factory(postal)); | |
}); | |
} else if(typeof module === "object" && module.exports) { | |
// I've not encountered a need for this yet, since I haven't | |
// run into a scenario where plain modules depend on CommonJS | |
// *and* I happen to be loading in a CJS browser environment | |
// but I'm including it for the sake of being thorough | |
module.exports = (root.myModule = factory(require("postal"))); | |
} else { | |
root.myModule = factory(root.postal); | |
} | |
}(this, function(postal) { | |
var myModule = {}; | |
// module code here.... | |
return myModule; | |
})); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment