ECMAScript Modules: Past, Present, and Future
summary
Timeline of ECMAScript modules, concrete semantics and deployment notes: browsers now ship modules, Node has experimental support requiring .mjs in Node 8 behind a flag and unresolved CommonJS interop; import/export are static and hoisted, cycles can cause instantiation or TDZ errors; dynamic import returns a Promise and yields the namespace object; HTML adds module preload (Chrome only so far); bundlers still reduce fetches and can tree‑shake thanks to static imports.
AI-written summary · about
chapters (12)
- 0:00Start
- 1:08The Old Days
- 3:09Asynchronous Module Definition AMD
- 3:43Universal Module Definition (UMD)
- 4:20ECMAScript and HTML
- 13:49Star imports (aka namespace objects)
- 14:41Life of a Module
- 17:38Instantiation Failures
- 18:52Valid Cycles
- 22:50Deployment
- 24:34Integration with Nodes and npm
- 27:53TC39 Proposals
related talks
28mPast, Present, and Future
47mNative JavaScript Modules: import {Browsers, Node.js}; export {production};
48mESM: EcmaScript Modules in browser and NodeJS. It's about time!
22mPlease wait... loading: a tale of two loaders
26mNode Es Modules - Something Almost, but not Quite Entirely Unlike Commonjs
29mExtra Special Modules
33mES6 Modules in the Real World
34mNode.js: Path to ES6 modules
