Sobes.tech
Middle

Kā darbojas moduļi ES Modules?

sobes.tech AI

Atbilde no AI

ES moduļi darbojas, balstoties uz statisko importu un eksportu analīzi. Pārlūkprogramma vai izpildes vide parsē JavaScript failus, nosaka atkarības starp moduļiem pirms koda izpildes un izveido atkarību grafiku.

Darba principi:

  • Statiska analīze: Importi un eksporti tiek noteikti pirms koda izpildes, kas ļauj optimizēt ielādi un agrīni atklāt kļūdas.
  • Viennozīmīga sasaistīšana: Katrs imports ir saistīts ar konkrētu eksportu citā modulī.
  • Vienas eksemplārs: Modulis tiek izpildīts tikai vienu reizi pirmajā importā. Visi turpmākie importi saņem atsauci uz to pašu eksemplāru.

Moduļa dzīves cikls:

  1. Veidošana: Moduļa avota kods tiek analizēts, tiek noteikti importi un eksporti. Tiek izveidota moduļa apvalka struktūra.
  2. Ielāde: Tiek ielādēti visi importētie moduļi. Ja atkarība nav kešota, tiek veikts pieprasījums tīklā vai failu sistēmā.
  3. Sasaistīšana: Tiek sasaistīti importi un eksporti. Importētie mainīgie un funkcijas kļūst pieejamas lietošanai. Ja imports nevar tikt atrisināts, tiek izsviesta kļūda.
  4. Izpilde: Tiek izpildīts moduļa kods. Visi eksportētie vērtības kļūst pieejamas importējošajiem moduļiem.

Piemēri:

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

console.log(name); // Izvade: Alice
sayHello(); // Izvade: Hello, Alice!

Atšķirības no CommonJS:

Īpašība ES moduļi CommonJS
Sasaistīšana Statiska Dinamiska
Ielāde Asinhrona (pārlūkā) Sinhrona
Eksportēšana export atslēgvārds module.exports
Importēšana import atslēgvārds require funkcija
Lietošana Pārlūkā un Node.js (eksperimentāls) Node.js