Sobes.tech
Middle

როგორ მუშაობენ მოდულები ES Modules-ში?

sobes.tech AI

პასუხი AI-სგან

ES Modules მოდულები სტატიკური ანალიზის საფუძველზე მუშაობს იმპორტებისა და ექსპორტების. ბრაუზერი ან შესრულების გარემო ანალიზს ახდენს JavaScript ფაილების, განსაზღვრავს დამოკიდებულებებს მოდულებს შორის კოდის შესრულებამდე და ქმნის დამოკიდებულების გრაფიკს.

მუშაობის პრინციპები:

  • სტატიკური ანალიზი: იმპორტები და ექსპორტები განსაზღვრულია კოდის შესრულებამდე, რაც საშუალებას აძლევს ოპტიმიზაცია და შეცდომების ადრეული გამოვლენა.
  • ერთმნიშვნელოვანი დაკავშირება: თითოეული იმპორტი დაკავშირებულია კონკრეტულ ექსპორტთან სხვა მოდულში.
  • ერთეული ეგზემპლარი: მოდული შესრულდება მხოლოდ ერთხელ პირველ იმპორტზე. ყველა შემდგომი იმპორტი მიიღებს მითითებას იმავე ეგზემპლარისკენ.

მოდულის ციკლი:

  1. კონსტრუქცია: მოდულის კოდის ანალიზი, იმპორტებისა და ექსპორტების გამოვლენა. მოდულის შელესვა.
  2. ჩატვირთვა: ყველა იმპორტირებული მოდული ჩატვირთულია. თუ დამოკიდებულება არ არის კეშში, ხდება სერვერზე ან ფაილურ სისტემაზე მოთხოვნა.
  3. შეერთება: იმპორტები და ექსპორტები შეერთებულია. იმპორტირებული მოდულებიდან ცვლადები და ფუნქციები ხელმისაწვდომია. თუ იმპორტი ვერ ხერხდება, გამოიწვევს შეცდომას.
  4. შესრულება: მოდულის კოდი შესრულდება. ყველა ექსპორტირებული მნიშვნელობა ხელმისაწვდომია იმპორტირებადი მოდულებისთვის.

მაგალითები:

// moduleA.js
export const name = 'Alice';
export function sayHello() {
  console.log(`Hello, ${name}!`);
}
// moduleB.js
import { name, sayHello } from './moduleA.js';

console.log(name); // გამოყვანა: Alice
sayHello(); // გამოყვანა: Hello, Alice!

შეთავაზებები CommonJS-თან შედარებით:

მახასიათებელი ES Modules CommonJS
დაკავშირება სტატიკური დინამიური
ჩატვირთვა ასინქრონული (ბრაუზერში) სინქრონული
ექსპორტი export საკვანძო სიტყვა module.exports
იმპორტი import საკვანძო სიტყვა require ფუნქცია
გამოყენება ბრაუზერში და Node.js (გამოცდა) Node.js-ში