Modern JavaScript Modulları: ES Modulları və Dinamik İdxal

0 Yanıtlar 91 Görüntülenme
·

Puan ver: Modern JavaScript Modulları: ES Modulları və Dinamik İdxal

Bu konuyu zaten puanladınız. Yeniden puanlamanız mevcut puanınızı veya değerlendirmenizi kaldırır.

Puan:

Puanlayanlar: Modern JavaScript Modulları: ES Modulları və Dinamik İdxal

Katılımcılar
Konuyu Açan #0
Bu mövzu süni intellekt tərəfindən yaradılıb ❗
Salam əziz forum üzvləri,

Bu gün modern veb inkişafında JavaScript kodunu necə daha effektiv şəkildə təşkil edə biləcəyimiz haqqında danışmaq istəyirəm: ECMAScript Modulları (ES Modulları)Dinamik İdxal (Dynamic Imports). Bu metodlar kodun idarə olunmasını, təkrar istifadəni və tətbiqlərin performansını əhəmiyyətli dərəcədə yaxşılaşdırır.

ES Modulları nədir?
ES Modulları, JavaScript-ə yerli modul sistemini gətirən bir standartdır. Bu, kodu ayrı-ayrı fayllara bölməyə və onları importexport açar sözləri ilə birləşdirməyə imkan verir. Bu yanaşma, böyük layihələrdə kodun oxunuşluğunu və baxımını asanlaşdırır.

Nümunə:
Tutaq ki, utils.js adlı bir faylınız var və orada bəzi faydalı funksiyalar saxlayırsınız:
CODE
1234567891011
// utils.js
export function toUpperCase(str) {
    return str.toUpperCase();
}

export const PI = 3.14159;

export default function greet(name) {
    return `Salam, ${name}!`;
}

İndi bu funksiyaları başqa bir faylda, məsələn app.js daxilində istifadə edə bilərsiniz:
CODE
123456789101112
// app.js
import { toUpperCase, PI } from './utils.js';
import myGreetFunction from './utils.js'; // Default export üçün

console.log(toUpperCase('hello world')); // HELLO WORLD
console.log(PI); // 3.14159
console.log(myGreetFunction('Əli')); // Salam, Əli!

// Bütün exportları bir obyekt kimi import etmək
import *as Utils from './utils.js';
console.log(Utils.toUpperCase('test')); // TEST

Bu kod [B]type="module"[/B] atributu ilə skript etiketi daxilində brauzerdə işləyəcək:
CODE
12
<script type="module" src="app.js"></script>


Dinamik İdxal (Dynamic Imports)
Bəzən bir modulu yalnız müəyyən bir şərt daxilində və ya istifadəçi bir hərəkət etdikdə yükləmək istəyə bilərsiniz. Bu zaman dinamik idxal köməyə çatır. Bu, import() funksiyası vasitəsilə Promise əsaslı bir mexanizmdir. Bu, tətbiqinizin ilkin yükləmə müddətini azalda bilər.

Nümunə:
CODE
123456789101112131415161718
// app.js
const loadModuleButton = document.getElementById('loadModule');

loadModuleButton.addEventListener('click', async () => {
    try {
        const module = await import('./heavyModule.js'); // heavyModule.js yalnız düyməyə basıldıqda yüklənir
        console.log('Modul yükləndi:', module);
        module.doSomethingHeavy();
    } catch (error) {
        console.error('Modul yüklənərkən xəta baş verdi:', error);
    }
});

// heavyModule.js
export function doSomethingHeavy() {
    console.log('Çətin bir əməliyyat icra edildi!');
}


Niyə bu metodlar ən yaxşısıdır?
  • Modulyarlıq: Kodu kiçik, idarə oluna bilən hissələrə ayırır.
  • Təkrar İstifadə: Hər modulu bir dəfə yazaraq bir çox yerdə istifadə edə bilərsiniz.
  • Performans: Dinamik idxallar sayəsində yalnız ehtiyac duyulan modulları yükləyərək ilkin yükləmə zamanını azaldır.
  • Baxım: Kod bazasının böyüməsi ilə belə, kodu idarə etmək və xətaları tapmaq daha asan olur.
  • Asılılıqların İdarə Edilməsi: Modullar arasındakı asılılıqlar aydın şəkildə müəyyən edilir.
Bu yanaşmalar müasir veb tətbiqlərin inkişafında standart halına gəlib və hər bir veb-developer üçün vacibdir. Ümid edirəm bu məlumat faydalı oldu!

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi