ES Modules

Нативная система модулей JavaScript (import/export).

Зачем нужно

Стандарт модулей ES6+. Статический анализ, tree-shaking, строгий режим по умолчанию. Работает в браузерах и Node.js.

Где используется

  • Фронтенд-приложения (React, Vue, Svelte)
  • Современный Node.js (type: "module")
  • Библиотеки и npm-пакеты

Code

// math.js — именованный экспорт
export const PI = 3.14159;
export function sum(a, b) { return a + b; }

// app.js — именованный импорт
import { PI, sum } from './math.js';

// Дефолтный экспорт
export default class User { /* ... */ }
import User from './User.js';

// Реэкспорт
export { sum } from './math.js';
export { default as User } from './User.js';

// Импорт всего модуля как namespace
import * as math from './math.js';
console.log(math.PI);

// В HTML
// <script type="module" src="app.js"></script>

Связанные темы

Ресурсы