SyntaxStudy
Sign Up
HTML ES Module Scripts in HTML
HTML Intermediate 5 min read

ES Module Scripts in HTML

Module Scripts

<script type="module"> enables ES module syntax — import and export — directly in HTML. Modules are deferred by default and run in strict mode.

Each module has its own scope, preventing global variable pollution.

Example
<!-- main.html -->
<script type="module" src="main.js"></script>

<!-- main.js -->
import { greet } from "./utils.js";
greet("World");

<!-- utils.js -->
export function greet(name) {
  console.log(`Hello, ${name}!`);
}
Pro Tip

Module scripts are always deferred — no need to add the defer attribute explicitly.