Intermediate Topic 21 of 51 Web Development
ES Modules
Standard module system for JavaScript.
How it works
ECMAScript modules are the standard module system of JavaScript, using import and export statements. Each file has its own scope, exports can be named or default, and imports are static, so tools can analyze dependencies, remove unused exports through tree shaking and bundle efficiently. Browsers load them with script type module, which is deferred by default and uses strict mode; dynamic import returns a promise for lazy loading. Node.js supports them with the .mjs extension or a type field.
Step-by-step walkthrough
- A file exports values.
- Another imports them by name.
- The browser fetches and links modules once.
- Imports are static, so bundlers can drop unused code.
- Modules have their own scope and avoid global pollution.
Where it is used
Organizing application code into reusable files, using npm packages, code splitting and lazy loading routes in single-page applications rely on ES modules.
Common pitfall
Mixing CommonJS require and ES module import causes interoperability errors. Circular imports can yield undefined values at evaluation time. Import paths in browsers need file extensions and correct URLs. Live bindings mean imports reflect later changes to exported variables, unlike copies. Prefer named exports for clarity and tree-shaking.
Where it fits in the course
ES Modules is topic 21 of 51 in Web Development, rated Intermediate. It follows Event Loop. The next topic is Local Storage and Cookies.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Web Development quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Web Development quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is ES Modules?
Where do people use ES Modules?
What is the most common mistake with ES Modules?
What should I learn before this topic?
How can I practice it?
Is ES Modules hard to learn?
How long does it take to learn ES Modules?
Which topics are related to ES Modules?
What should I study after ES Modules?
Related topics
- Event Loop (Web Development)
- Local Storage and Cookies (Web Development)
- Promises (Web Development)
- CSS Animations (Web Development)
- Modules and Packages (Programming Fundamentals)