Sobes.tech
Junior

ES-modullari nima?

sobes.tech AI

AIdan javob

ES-modullar JavaScriptda kodni tashkil qilishning standart usuli bo'lib, import va export sintaksisiga asoslangan.

Asosiy xususiyatlar:

  • Standart: ECMAScript spetsifikatsiyasining bir qismi bo'lib, zamonaviy brauzerlar va Node.js kabi ishga tushirish muhitlari tomonidan qo'llab-quvvatlanadi.
  • Aniq bog'liqlik boshqaruvi: Modullar, qanday qiymatlarni eksport qilayotganini va boshqa modullardan qanday qiymatlarni import qilayotganini aniq ko'rsatadi.
  • Statik tuzilma: Modullarning bog'liqliklari kompilatsiya (yoki tahlil) bosqichida aniqlanadi, ishga tushirish vaqtida emas. Bu, Webpack, Rollup kabi vositalarga kodni optimallashtirish imkonini beradi.
  • Izolyatsiya: Modul ichida e'lon qilingan har bir o'zgaruvchi, funksiya yoki sinf, odatda, shu modulga xos bo'ladi. Ular tashqaridan kirish uchun, aniq eksport qilinishi kerak.
  • Asinxronlikni qo'llab-quvvatlash: Modullar brauzerlarda asinxron tarzda yuklanishi mumkin, sahifa yuklanishini to'xtatmay.

Sintaksis:

  • Eksport qilish:
    // app.js
    export const myVariable = 123; // Nomlangan eksport
    export function myFunction() { // Nomlangan eksport
      console.log('Moduldan salom!');
    }
    export default class MyClass { // Standart eksport
      constructor() {
        console.log('MyClass namuna yaratildi');
      }
    }
    
  • Import qilish:
    // main.js
    import { myVariable, myFunction } from './app.js'; // Nomlangan import
    import MyDefaultClass from './app.js'; // Standart import
    
    console.log(myVariable); // 123
    myFunction(); // Moduldan salom!
    const instance = new MyDefaultClass(); // MyClass namuna yaratildi
    

CommonJS (Node.js) bilan taqqoslaganda:

Xususiyat ES-modullar CommonJS
Sintaksis import, export require, module.exports, exports
Bog'liqliklar Statik (ishga tushirishdan oldin aniqlangan) Dinamik (ishga tushirish vaqtida aniqlangan)
Yuklash Asinxron (brauzerda) Synchronous (synchronous)
this rootda undefined module.exports
Qo'llab-quvvatlash Brauzerlar, Node.js (versiya 13.2 dan boshlab, --experimental-modules flag bilan avval) Asosan Node.js

ES-modullarni ishlatish, standartlashtirilganligi, vositalar tomonidan yaxshiroq qo'llab-quvvatlanishi va statik tahlil imkoniyatlari tufayli zamonaviy frontend rivojlanish uchun tavsiya etilgan yondashuvdir.