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)

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);
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);
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);
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");
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).

Quiz: podstawy rozwiązywania ścieżek
Szybkie sprawdzenie: bezpieczna lokalna ścieżka importu.

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.

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
- Podstawy ESM — import/export, default a named
- Podstawy CommonJS — require/module.exports i exports
- Rozwiązywanie modułów w Node i bundlerach przeglądarkowych