Ana içeriğe geç

ES Modülleri

ECMAScript Modules

İngilizcesi
ES Modules
Okunuşu
i-es mocuıls

Günlük kullanımda iki ad da yaygın.

Güncellendi 1 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/es-modules

Kısaca

ES modülleri, JavaScript'in yerleşik modül sistemidir: her dosya kendi kapsamını korur ve kodu diğer dosyalarla import ve export aracılığıyla paylaşır.

ES modülleri (ES modules) nedir?

Modül, değişkenleri ve fonksiyonları export edilmedikçe kendine saklı kalan bir dosyadır. ES modüllerinde bir dosya paylaştığı şeyleri export ile işaretler, başka bir dosya da bu parçaları import ile alır. Standart, ES6 olarak da bilinen ECMAScript 2015 ile geldi ve bugün bütün modern tarayıcılar ve Node.js onu destekliyor.

ES modüllerinden önce JavaScript'in kendine ait bir modül sistemi yoktu. Tarayıcılar hepsi tek bir global kapsamı paylaşan script'ler yüklüyordu, Node.js ise require() ve module.exports ile CommonJS kullanıyordu. ES modülleri önemli bir noktada ayrılır: import ve export'lar statiktir, en üst düzeyde yazılır; böylece araçlar hiçbir şeyi çalıştırmadan bütün bağımlılık grafiğini görebilir. Bundler'ların kullanılmayan kodu atabilmesi, yani tree shaking, ve geri kalanı parçalara bölebilmesi bu sayededir.

Tarayıcıda bir script <script type="module"> ile modül olur; modül script'leri ertelenerek çalışır ve her zaman strict mode'dadır. Node.js'te bir dosya .mjs ile bitiyorsa ya da en yakın package.json dosyasında "type": "module" yazıyorsa modüldür. Yalnızca gerektiğinde yüklenmesi gereken kod için import() fonksiyonu bir modülü istendiği anda yükler ve bir promise döndürür.

Önemli noktalar

  • ES modülleri kodu export ve import ile paylaşır, geri kalan her şeyi saklı tutar.
  • Dilin standardının parçasıdır; tarayıcılarda ve Node.js'te çalışır.
  • Statik import'lar araçların bağımlılık grafiğini görmesini ve böylece tree shaking yapmasını sağlar.
  • import() bir modülü yalnızca gerektiğinde yükler.

Örnek

Bir dosyadan export edip başka bir dosyaya import etmekjavascript
// math.js
export const PI = 3.14159;
export function area(radius) {
  return PI * radius ** 2;
}

// app.js
import { area } from "./math.js";
console.log(area(2)); // 12.56636

Sık sorulan sorular

ES modülleri ile CommonJS arasındaki fark nedir?

CommonJS, Node.js'in eski modül sistemidir: require() bir modülü kod çalışırken yükler, module.exports da değerleri paylaşır. ES modülleri import ve export kullanır, asenkron yüklenir ve kod çalışmadan önce analiz edilir. Node.js ikisini de destekler; yeni kodda genellikle ES modülleri kullanılır.

Tarayıcı neden "Cannot use import statement outside a module" diyor?

Dosya klasik bir script olarak yüklenmiş. <script> etiketine type="module" ekleyin; Node.js'te dosyayı .mjs uzantısıyla adlandırın ya da package.json içinde "type": "module" ayarlayın.

İlgili sayfalar

Kaynaklar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar