- Raw
<script> loading, where dependencies are implicit, and exports are vomited onto the window object. (Strangely, this convention doesn’t have a name!)
- CommonJS - where a module’s dependencies are synchronously, dynamically
require()d, and its exports are placed on an exports object.
- “ECMAScript modules” - where a module’s dependencies are statically
imported before execution, and its exports are statically defined, top-level variables.
- Asynchronous Module Definition (AMD) - where a module calls
define(dependencies, callback) (Plus a degenerate alternative form that unsafely wraps a CommonJS module; the less said about it, the better).
- Universal Module Definition (UMD) - TODO