0Pricing
JavaScript Academy · Lektion

Modulauflösung in Node und Browser-Bundlern

Lernen, wie Imports aufgelöst werden: relative und bare Specifier, Dateiendungen (.js/.mjs/.cjs), index-Dateien und einfache Package-Einstiegspunkte

Modulauflösung in Node und Browser-Bundlern ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 3. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Überblick

Ziel: Verstehen Sie, wie Importpfade aufgelöst werden.

  • Relative und bare Spezifizierer
  • Verwenden Sie explizit .js (sichere Standardeinstellung)
  • index.js in Ordnern
  • Paketeinstiegspunkte (main/exports, kurzer Einblick)
Modulauflösung in Node und Browser-Bundlern — Illustration 1

Relativ und bare

Relative Importe beginnen mit ./ oder ../. Bare Importe verweisen auf installierte Pakete.

// 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);
Modulauflösung in Node und Browser-Bundlern — Illustration 2

Endungen sind wichtig

Fügen Sie in ESM die Endung .js hinzu, um Auflösungsfehler zu vermeiden. Sie sehen möglicherweise auch .mjs oder .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);
Modulauflösung in Node und Browser-Bundlern — Illustration 3

Ordner und index.js

Ordner stellen häufig index.js bereit. Die explizite Angabe (.../index.js) ist für Einsteiger verständlich.

// 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);
Modulauflösung in Node und Browser-Bundlern — Illustration 4

Paketeinstiegspunkte

Pakete stellen über main/exports Einstiegspunkte bereit. Bare Importe wählen die passende Datei für ESM oder 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");
Modulauflösung in Node und Browser-Bundlern — Illustration 5

Tipps und Fallstricke

Tipps:

  • Bevorzugen Sie für lokale Dateien relative Pfade mit .js.
  • Verwenden Sie bare Importe nur für installierte Pakete.
  • Geben Sie index.js explizit an, um Mehrdeutigkeiten zu vermeiden.
  • Im Browser müssen Importe gültige URLs sein (häufig mit Endungen).
Modulauflösung in Node und Browser-Bundlern — Illustration 6

Quiz zu den Grundlagen der Auflösung

Kurztest: Sicherer lokaler Importpfad.

Modulauflösung in Node und Browser-Bundlern — Illustration 7

Zusammenfassung

Zusammenfassung: Lokale Dateien → ./file.js. Pakete → bare Namen. Ordner werden häufig zu index.js aufgelöst. Wenn Sie diese Regeln kennen, bleiben Importe einfach und vorhersehbar.

Modulauflösung in Node und Browser-Bundlern — Illustration 8

Häufig gestellte Fragen

Ist die Lektion „Modulauflösung in Node und Browser-Bundlern“ kostenlos?

Ja — der vollständige Text von „Modulauflösung in Node und Browser-Bundlern“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 3 Lektionen.

Was lerne ich in „Modulauflösung in Node und Browser-Bundlern“?

Lernen, wie Imports aufgelöst werden: relative und bare Specifier, Dateiendungen (.js/.mjs/.cjs), index-Dateien und einfache Package-Einstiegspunkte Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 3.

Wie lange dauert die Lektion „Modulauflösung in Node und Browser-Bundlern“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. ESM-Grundlagen – import/export, default vs. named
  2. CommonJS-Grundlagen – require/module.exports und exports
  3. Modulauflösung in Node und Browser-Bundlern
← Zurück zu JavaScript Academy