Akademi JavaScript · Pelajaran

Keanehan Pemuat ESM, Perbezaan Laluan/URL

Selesaikan URL dengan selamat, fahami penentu relatif berbanding tanpa laluan dan lihat perbezaan URL fail dengan URL web. Demo kecil yang boleh dijalankan.

Pelajaran 2 daripada 38 langkah

Keanehan Pemuat ESM, Perbezaan Laluan/URL ialah pelajaran Akademi JavaScript percuma di CoddyKit. Ini ialah pelajaran 2 daripada 3. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi JavaScript, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi JavaScript merangkumi sejumlah 3 pelajaran.

Gambaran keseluruhan

Matlamat: Selesaikan laluan dengan selamat merentas persekitaran.

  • Gunakan pembina URL untuk menyelesaikan laluan relatif
  • Kenali penentu relatif berbanding penentu tanpa awalan
  • Lihat perbezaan antara file: dan https:
  • Elakkan cantuman rentetan yang rapuh untuk laluan
Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 1

Laluan relatif terhadap asas

new URL(relative, base) mengendalikan bahagian laluan dan garis miring dengan betul.

// Use URL to resolve "./" against a base
const base = "https://site.com/app/screens/";
const img = new URL("./images/icon.png", base);
console.log("resolved:", img.href);
Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 2

Normalkan dengan ..

Pembina itu membuang ../ dengan betul, jadi anda tidak memerlukan helah rentetan secara manual.

// URL resolves "../" segments
const u = new URL("../assets/a.txt", "https://x.com/app/views/page/");
console.log("normalized:", u.href);
Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 3

Bentuk URL file:

URL file: menunjuk kepada fail setempat dalam konteks seperti Node; pelayar tidak boleh membacanya secara langsung tanpa tindakan pengguna.

// You can also work with file: URLs (no actual file I/O here)
const baseFile = "file:///home/user/project/src/";
const file = new URL("./data/sample.txt", baseFile);
console.log("file url:", file.href);
Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 4

Jenis penentu

Pemuat ESM mengendalikan penentu tanpa awalan secara berbeza daripada URL relatif atau mutlak. Mengetahui jenisnya amat membantu.

// Tiny helper: categorize a module specifier
function specKind(s) {
  if (typeof s !== "string") return "unknown";
  if (s.startsWith("./") || s.startsWith("../") || s.startsWith("/")) return "relative-or-absolute";
  if (s.startsWith("http://") || s.startsWith("https://") || s.startsWith("file://")) return "url";
  return "bare"; // like "lodash" or "fs"
}

console.log("kind ./util.js:", specKind("./util.js"));
console.log("kind lodash   :", specKind("lodash"));
console.log("kind https:// :", specKind("https://cdn.site/x.js"));
Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 5

Amalan mesra pemula

Petua:

  • Utamakan URL(relative, base) berbanding penggabungan rentetan.
  • Fahami penentu tanpa awalan berbanding penentu relatif.
  • Elakkan menganggap fail wujud dalam pelayar.
  • Pastikan laluan pendek dan mudah dibaca oleh pemula.
Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 6

Kuiz asas penyelesaian URL

Semakan ringkas: Bina URL dengan selamat.

Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 7

Imbas kembali

Imbas kembali: Gunakan pembina URL untuk menyelesaikan laluan relatif (./, ../), kenali penentu tanpa awalan berbanding penentu relatif dan ingat bahawa URL file: berbeza daripada URL sesawang.

Keanehan Pemuat ESM, Perbezaan Laluan/URL — ilustrasi 8
Percuma untuk bermula

Pelajari JavaScript dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
59
Pelajaran
200

Soalan Lazim

Adakah pelajaran “Keanehan Pemuat ESM, Perbezaan Laluan/URL” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Akademi JavaScript, termasuk “Keanehan Pemuat ESM, Perbezaan Laluan/URL”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Akademi JavaScript merangkumi sejumlah 3 pelajaran.

Apakah yang akan saya pelajari dalam “Keanehan Pemuat ESM, Perbezaan Laluan/URL”?

Selesaikan URL dengan selamat, fahami penentu relatif berbanding tanpa laluan dan lihat perbezaan URL fail dengan URL web. Demo kecil yang boleh dijalankan. Anda berlatih Akademi JavaScript menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Akademi JavaScript?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi JavaScript di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 3.

Berapa lamakah pelajaran “Keanehan Pemuat ESM, Perbezaan Laluan/URL” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi JavaScript ini?

Ya. Setiap pelajaran Akademi JavaScript menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Global, Ketersediaan fetch, API Fail/Rangkaian
  2. Keanehan Pemuat ESM, Perbezaan Laluan/URL
  3. Pemboleh Ubah Persekitaran dan Corak Konfigurasi
← Kembali ke Akademi JavaScript