0Pricing
JavaScript Academy · Lekcja

Podstawy ESM — import/export, default a named

Podstawy importu i eksportu ESM: czym jest moduł, eksporty named i default, importy przestrzeni nazw oraz krótkie porównanie z CommonJS

Podstawy ESM — import/export, default a named to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej JavaScript Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs JavaScript Academy zawiera 3 lekcji w sumie.

Czym jest moduł?

Cel: Swobodne odczytywanie składni modułów.

  • Czym jest moduł
  • Eksporty nazwane a eksport domyślny
  • import * jako przestrzeń nazw
  • Krótkie porównanie z CJS
Podstawy ESM — import/export, default a named — ilustracja 1

Moduł = plik + lokalny zakres

Moduł to plik. Jego zmienne są lokalne, chyba że zostaną wyeksportowane za pomocą export.

// A module is just a file with its own scope
// Here we simulate "module scope" by keeping variables local.
(function () {
  const secret = 42;                          // local to this file/scope
  function reveal() { return "value:" + secret; }
  console.log("module-like scope:", typeof secret === "number", reveal());
})();
Podstawy ESM — import/export, default a named — ilustracja 2

Eksporty nazwane — idea

Eksporty nazwane używają nawiasów klamrowych przy imporcie: import { name }. Z jednego pliku można eksportować wiele elementów.

// Named exports: you export multiple items by name
const exampleNamedExport = [
  "export const PI = 3.14;",
  "export function sum(a, b) { return a + b; }",
  "import { PI, sum } from \\"./math.js\\";"
];

console.log("named export example:");
for (const line of exampleNamedExport) console.log(line);

// Tiny emulation: pretend we imported two named symbols
const PI = 3.14;
function sum(a, b) { return a + b; }
console.log("emulated use:", PI, sum(2, 3));
Podstawy ESM — import/export, default a named — ilustracja 3

Eksport domyślny — idea

Eksport domyślny jest importowany bez nawiasów klamrowych: import name from "path".

// Default export: each module can have at most one default
const exampleDefault = [
  "export default function greet(name) { return \\"Hi \\" + name; }",
  "import greet from \\"./greet.js\\"; // no braces"
];

console.log("default export example:");
for (const line of exampleDefault) console.log(line);

// Emulation of default import usage
function greet(name) { return "Hi " + name; }
console.log("emulated default:", greet("Ayla"));
Podstawy ESM — import/export, default a named — ilustracja 4

Import przestrzeni nazw

import * as ns zbiera eksporty nazwane w jednym obiekcie (na przykład math.sum).

// Namespace import collects all named exports under one object
const exampleNamespace = [
  "import * as math from \\"./math.js\\";",
  "console.log(math.PI, math.sum(1, 2));"
];

console.log("namespace import example:");
for (const line of exampleNamespace) console.log(line);

// Emulate a namespace object
const math = { PI: 3.14, sum: function (a, b) { return a + b; } };
console.log("namespace use:", math.PI, math.sum(4, 5));
Podstawy ESM — import/export, default a named — ilustracja 5

Porównanie CJS i uwagi o rozwiązywaniu ścieżek

CJS vs ESM (w skrócie):

  • ESM: składnia import/export (statyczna). Przykład: import { x } from "./m.js".
  • CJS: require/module.exports (dynamiczna). Przykład: const x = require("./m.js").
  • W ESM należy używać jawnych rozszerzeń plików w przeglądarce i w wielu konfiguracjach Node (na przykład ./file.js).
Podstawy ESM — import/export, default a named — ilustracja 6

Quiz: import nazwany a domyślny

Szybkie sprawdzenie: składnia importu nazwanego.

Podstawy ESM — import/export, default a named — ilustracja 7

Podsumowanie

Podsumowanie: Moduł to plik. Należy używać eksportów nazwanych z nawiasami klamrowymi, jednego eksportu domyślnego bez nawiasów klamrowych oraz import * dla przestrzeni nazw. CJS używa require, a ESM — import.

Podstawy ESM — import/export, default a named — ilustracja 8

Często zadawane pytania

Czy lekcja „Podstawy ESM — import/export, default a named” jest bezpłatna?

Tak — pełny tekst „Podstawy ESM — import/export, default a named” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu JavaScript Academy, przejdź na CoddyKit PRO. Kurs JavaScript Academy zawiera 3 lekcji w sumie.

Co nauczysz się w „Podstawy ESM — import/export, default a named”?

Podstawy importu i eksportu ESM: czym jest moduł, eksporty named i default, importy przestrzeni nazw oraz krótkie porównanie z CommonJS Ćwiczysz JavaScript Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć JavaScript Academy?

Nie wymagamy żadnego doświadczenia. JavaScript Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.

Ile czasu zajmuje lekcja „Podstawy ESM — import/export, default a named”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji JavaScript Academy?

Tak. Każda lekcja JavaScript Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy ESM — import/export, default a named
  2. Podstawy CommonJS — require/module.exports i exports
  3. Rozwiązywanie modułów w Node i bundlerach przeglądarkowych
← Powrót do JavaScript Academy