Skip to content

JavaScript-da Dinamik Import

Dinamik Import — bu JavaScript modullarini dastur ishga tushgan vaqtda (runtime) emas, balki aynan kerak bo'lgan paytda yuklash usulidir.


Sintaksis

Dinamik import funksiya ko'rinishida chaqiriladi va Promise qaytaradi:

js
import(module_path)

Nima uchun Dinamik Import kerak?

Odotdagi (statik) importlar faylning eng yuqori qismida yozilishi shart va ular sahifa ochilishi bilan yuklanadi. Dinamik import esa quyidagi afzalliklarni beradi:

  1. Lazy Loading: Kodni faqat kerak bo'lganda (masalan, tugma bosilganda) yuklash.
  2. Ishlash tezligi: Sahifaning birinchi yuklanish hajmini kamaytiradi.
  3. Shartli yuklash: Ma'lum bir shart bajarilgandagina modulni yuklash.

Qanday ishlatiladi?

Dinamik import Promise qaytargani uchun biz odatda async/awaitdan foydalanamiz.

Misol:

js
async function loadMath() {
  const math = await import('./math.js')
  console.log(math.add(2, 3))
}

loadMath()

Statik vs Dinamik

XususiyatStatik Import (import ...)Dinamik Import (import())
Qayerda yoziladi?Faylning tepasidaIstalgan joyda (shartlar ichida ham)
Qachon yuklanadi?Sahifa ochilgandaChaqirilgan vaqtda
NatijaTo'g'ridan-to'g'ri o'zgaruvchiPromise

Amaliy misol: Tugma bosilganda yuklash

Tasavvur qiling, sizda sahifani PDF-ga o'giradigan katta kutubxona bor. Uni hamma foydalanuvchilar ishlatavermaydi, shuning uchun uni faqat tugma bosilganda yuklash to'g'riroq bo'ladi:

js
const btn = document.getElementById('download-btn')

btn.onclick = async () => {
  const pdfModule = await import('./pdf-generator.js')
  pdfModule.generate()
}

Muhim eslatma

Dinamik import ES2020 standartida kiritilgan bo'lib, barcha zamonaviy brauzerlarda ishlaydi. Uni ishlatish uchun brauzeringiz ES modul tizimini qo'llab-quvvatlashi kerak.