Stacey Sern
The original design of JavaScript did not make it easy to structure code and control access to variables. Attempts to address this problem over the years led to another problem: multiple competing module systems. With ES6, standardized modules have become part of the language.
This talk will explain why we need modules, how different module systems developed and how the modules are structured. At the end, you should be able to make sense of IIFE, CommonJS, AMD, UMD and ES modules.