Resolusi Modul di Node dan Bundler Peramban
Pelajari cara import diresolusikan: penentu relatif vs polos, ekstensi berkas (.js/.mjs/.cjs), berkas indeks, dan titik masuk paket sederhana
Resolusi Modul di Node dan Bundler Peramban adalah pelajaran JavaScript Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar JavaScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus JavaScript Academy mencakup 3 pelajaran total.
Gambaran umum
Tujuan: Pahami cara resolusi jalur impor.
- Penentu relatif vs tanpa nama paket
- Gunakan .js secara eksplisit (bawaan yang aman)
- index.js dalam folder
- Titik masuk paket (main/exports, sekilas)

Relatif vs tanpa nama paket
Impor relatif dimulai dengan ./ atau ../. Impor tanpa nama paket mengarah ke paket yang telah dipasang.
// 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);
Ekstensi itu penting
Tambahkan ekstensi .js dalam ESM untuk menghindari kesalahan resolusi. Anda mungkin juga melihat .mjs atau .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);
Folder dan index.js
Folder sering mengekspos index.js. Penulisan eksplisit (.../index.js) lebih jelas bagi pemula.
// 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);
Titik masuk paket
Paket mengekspos titik masuk melalui main/exports. Impor tanpa nama paket memilih berkas yang tepat untuk ESM atau 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");
Tips dan jebakan
Tips:
- Utamakan jalur relatif dengan .js untuk berkas lokal.
- Gunakan impor tanpa nama paket hanya untuk paket yang telah dipasang.
- Tulis index.js secara eksplisit untuk menghindari ambiguitas.
- Di peramban, impor harus berupa URL yang valid (sering kali dengan ekstensi).

Kuis dasar resolusi
Pemeriksaan singkat: Jalur impor lokal yang aman.

Ringkasan
Ringkasan: Berkas lokal → ./file.js. Paket → nama tanpa penentu. Folder sering diresolusikan ke index.js. Memahami aturan ini membuat impor tetap sederhana dan dapat diprediksi.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Resolusi Modul di Node dan Bundler Peramban” gratis?
Ya — teks lengkap “Resolusi Modul di Node dan Bundler Peramban” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus JavaScript Academy, upgrade ke CoddyKit PRO. Kursus JavaScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Resolusi Modul di Node dan Bundler Peramban”?
Pelajari cara import diresolusikan: penentu relatif vs polos, ekstensi berkas (.js/.mjs/.cjs), berkas indeks, dan titik masuk paket sederhana Kamu berlatih JavaScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai JavaScript Academy?
Tidak diperlukan pengalaman sebelumnya. JavaScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Resolusi Modul di Node dan Bundler Peramban” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran JavaScript Academy ini?
Ya. Setiap pelajaran JavaScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dasar ESM — import/export, default vs bernama
- Dasar CommonJS — require/module.exports dan exports
- Resolusi Modul di Node dan Bundler Peramban