avatar
·2 dk okuma
Node.js'de ES Modülleri

Node.js'de ES Modülleri

Node.js'de geleneksel olarak CommonJS modül formatı kullanılmıştır. Ancak, ES2015 (ECMAScript 2015) ile JavaScript diline resmi bir modül sistemi eklenmiştir: ES Modülleri. Bu makalede, Node.js'de ES Modüllerinin nasıl kullanıldığını ve CommonJS ile arasındaki farkları ele alacağız.

ES Modülleri Nedir?

ES Modülleri, JavaScript'in standart modül sistemidir. Bu sistem, modül tanımlamalarını ve içe aktarmalarını export ve import anahtar kelimeleri ile yapar. ES Modülleri, kodun daha düzenli ve modüler bir şekilde organize edilmesini sağlar.

ES Modülleri ile Çalışmak

ES Modüllerinde dosya uzantısı olarak .mjs kullanılır. İşte bazı temel kullanım örnekleri:

Tek Değişken veya Fonksiyon Dışa Aktarma (Default Export)

// math-esm.mjs
export default function add(a, b) {
    return a + b;
}

// main.mjs
import add from './math-esm.mjs';
console.log(add(5, 5)); // 10

Birden Fazla Değişken veya Fonksiyon Dışa Aktarma (Named Export)

// math-esm.mjs
export const add = (a, b) => a + b;
export const subtract = (a, b) => a - b;


// main.mjs - Tüm İçe Aktarımları Bir Objede Toplama
import * as math from './math-esm.mjs';
console.log(math.add(5, 5)); // 10
console.log(math.subtract(5, 5)); // 0


// main.mjs - Belirli İçe Aktarımları Seçme
import { add, subtract } from './math-esm.mjs';
console.log(add(5, 5)); // 10
console.log(subtract(5, 5)); // 0

Destructuring ile İçe Aktarma

ES Modüllerinde de destructuring kullanarak sadece ihtiyaç duyulan fonksiyonları veya değişkenleri içe aktarabiliriz.

ES Modülleri ve CommonJS Arasındaki Farklar

  • Dosya Uzantısı: ES Modülleri için .mjs, CommonJS için .js kullanılır.

  • Dışa Aktarma: ES Modülleri export anahtar kelimesini kullanırken, CommonJS module.exports kullanır.

  • İçe Aktarma: ES Modülleri import anahtar kelimesini, CommonJS require() fonksiyonunu kullanır.

Sonuç

ES Modülleri, Node.js ve modern JavaScript uygulamalarında giderek daha fazla kullanılmaktadır. Bu modül sistemi, JavaScript'in standartlarla uyumlu, daha modüler ve temiz kod yazımını destekler. Ancak, mevcut projelerde hâlâ yaygın olarak CommonJS kullanılmaktadır. Node.js geliştiricileri için her iki modül sistemini de anlamak önemlidir. Bu makalede ES Modülleri'nin temel kullanım örneklerini ve CommonJS ile olan farklarını inceledik. Bu bilgiler, Node.js'de daha etkili modül yönetimi ve kod organizasyonu için önemlidir.