## Background ### Modules and Module Loaders A module is simply a JavaScript file written with module syntax. Modules _export_ values, which can then be _imported_ by other modules. [CommonJS](http://wiki.commonjs.org/wiki/CommonJS) and [AMD](https://github.com/amdjs/amdjs-api/wiki/AMD) JavaScript files are modules. A module loader provides the ability to dynamically load modules, and also keeps track of all loaded modules in a module registry. Typically, in production, the module registry would be populated by an initial compiled bundle of modules. Later in the page state, it may become necessary to dynamically load a new module. This module can then share dependencies with the initial page bundle without having to reload any dependencies. Module code is treated differently to scripts due to the nature of exports and imports. This is why the `