0Pricing
JavaScript Academy · Lekcja

Rozwiązywanie modułów w Node i bundlerach przeglądarkowych

Poznanie sposobu rozwiązywania importów: specyfikatory względne i bare, rozszerzenia plików (.js/.mjs/.cjs), pliki index oraz proste punkty wejścia pakietów

Rozwiązywanie modułów w Node i bundlerach przeglądarkowych to bezpłatna lekcja JavaScript Academy na CoddyKit. To lekcja 3 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.

Ogólny obraz

Cel: Zrozumienie sposobu rozwiązywania ścieżek importu.

  • Względne a bez prefiksu specyfikatory
  • Należy używać jawnego .js (bezpieślna opcja domyślna)
  • index.js w folderach
  • Punkty wejścia pakietów (main/exports, w skrócie)
Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 1

Względne a bez prefiksu

Względne importy zaczynają się od ./ lub ../. Importy bez prefiksu wskazują na zainstalowane pakiety.

// Relative path imports start with ./ or ../
// Bare specifiers refer to packages installed (e.g., "lodash")
const examples = [
  "import { sum } from \\"./math.js\\";   // relative, file nearby",
  "import leftPad from \\"left-pad\\";   // bare, from node_modules",
  "import thing from \\"../lib/thing.js\\"; // parent folder"
];

console.log("specifiers:");
for (const line of examples) console.log(line);
Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 2

Rozszerzenia mają znaczenie

W ESM należy dodać rozszerzenie .js, aby uniknąć błędów rozwiązywania ścieżek. Można również spotkać .mjs lub .cjs.

// Include file extensions for ESM (safe beginner habit)
const extTips = [
  "Good (ESM): import util from \\"./util.js\\"",
  "Also seen: .mjs for ESM files, .cjs for CJS files",
  "Avoid: import \\"./util\\" (may fail in Node/browsers)"
];

console.log("extensions:");
for (const t of extTips) console.log(t);
Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 3

Foldery i index.js

Foldery często udostępniają plik index.js. Jawne wskazanie (.../index.js) jest czytelne dla początkujących.

// If you import a folder, many setups look for index.js inside it
const folderExample = [
  "my-lib/",
  "  index.js",
  "  helpers/",
  "    index.js"
];

for (const l of folderExample) console.log(l);

// Typical imports
const dirImports = [
  "import main from \\"./my-lib/index.js\\";",
  "import alsoMain from \\"./my-lib/\\";        // some setups resolve to index.js",
  "import helper from \\"./my-lib/helpers/index.js\\";"
];

console.log("imports:");
for (const l of dirImports) console.log(l);
Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 4

Punkty wejścia pakietów

Pakiety udostępniają punkty wejścia za pomocą main/exports. Importy bez prefiksu wybierają właściwy plik dla ESM lub CJS.

// Installed packages declare entry points in package.json
const pkgJson = [
  "{",
  "  \\"name\\": \\"tiny-lib\\",",
  "  \\"main\\": \\"dist/cjs/index.cjs\\",",
  "  \\"exports\\": {",
  "    \\".\\": { \\"import\\": \\"./dist/esm/index.js\\", \\"require\\": \\"./dist/cjs/index.cjs\\" }",
  "  }",
  "}"
];

console.log("package.json entry (example):");
for (const l of pkgJson) console.log(l);

// Importing a bare specifier will use these fields
console.log("import tiny-lib     -> resolves to ESM or CJS entry depending on environment");
Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 5

Wskazówki i pułapki

Wskazówki:

  • Należy preferować ścieżki względne z .js w przypadku plików lokalnych.
  • Importów bez prefiksu należy używać tylko dla zainstalowanych pakietów.
  • Należy jawnie wskazywać index.js, aby uniknąć niejednoznaczności.
  • W przeglądarce importy muszą być poprawnymi adresami URL (często z rozszerzeniami).
Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 6

Quiz: podstawy rozwiązywania ścieżek

Szybkie sprawdzenie: bezpieczna lokalna ścieżka importu.

Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 7

Podsumowanie

Podsumowanie: Pliki lokalne → ./file.js. Pakiety → nazwy bez prefiksu. Foldery często są rozwiązywane do index.js. Znajomość tych zasad sprawia, że importy są proste i przewidywalne.

Rozwiązywanie modułów w Node i bundlerach przeglądarkowych — ilustracja 8

Często zadawane pytania

Czy lekcja „Rozwiązywanie modułów w Node i bundlerach przeglądarkowych” jest bezpłatna?

Tak — pełny tekst „Rozwiązywanie modułów w Node i bundlerach przeglądarkowych” 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 „Rozwiązywanie modułów w Node i bundlerach przeglądarkowych”?

Poznanie sposobu rozwiązywania importów: specyfikatory względne i bare, rozszerzenia plików (.js/.mjs/.cjs), pliki index oraz proste punkty wejścia pakietów Ć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 3 z 3.

Ile czasu zajmuje lekcja „Rozwiązywanie modułów w Node i bundlerach przeglądarkowych”?

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