Node.js Modül Sistemi ve Modül Kullanımı

  • 17
  • (1)
  • (5)
  • 25 Oca 2025

Node.js, modüler bir yapıya sahiptir ve uygulamaları daha düzenli ve yönetilebilir hale getirmek için modül sistemini kullanır. Node.js modül sistemi, kodları farklı dosyalara bölerek yeniden kullanılabilirlik ve sürdürülebilirlik sağlar. Bu makalede, Node.js modül sisteminin temellerini ve nasıl kullanılacağını öğreneceksiniz.

Node.js Modül Türleri

Node.js'te üç ana modül türü bulunmaktadır:

  • Yerleşik Modüller (Built-in Modules): Node.js tarafından sağlanan ve ek kurulum gerektirmeyen modüllerdir. Mesela, fs, http, path, os modülleri Node.js içerisinde yerleşiktir.
  • Kullanıcı Tanımlı Modüller: Geliştirici tarafından oluşturulan ve uygulama ihtiyaçlarına göre yapılandırılan modüllerdir. Özel fonksiyonlar veya sınıflar içeren modüller örnek olarak verilebilir.
  • Üçüncü Taraf Modüller: npm (Node Package Manager) aracılığıyla yüklenen harici paketlerdir. Mesela, express, mongoose, lodash modülleri sonradan eklenebilen modüllerdir.

Modül Oluşturma ve Kullanma

1. Kullanıcı Tanımlı Modül Oluşturma

Bir kullanıcı tanımlı modül oluşturmak için yeni bir dosya oluşturun ve içerisine aşağıdaki gibi fonksiyonlar ekleyin:

math.js dosyası:


function toplama(a, b) {
    return a + b;
}

function carpma(a, b) {
    return a * b;
}

module.exports = { toplama, carpma };

2. Modülleri Kullanma

Başka bir dosyada bu modülü aşağıdaki gibi içe aktarabilirsiniz:

app.js dosyası:


const math = require('./math');

console.log(math.toplama(5, 10));  // 15
console.log(math.carpma(4, 3));    // 12

Komut satırında node app.js ile bu script dosyasını çalıştırdığınızda ekrana 15 ve 12 değerleri gelecektir. math.js dosyasının da aynı klasörde olması gereklidir.

Yerleşik Modüllerin Kullanımı

Node.js yerleşik modüllerini kullanarak çeşitli işlemler yapabilirsiniz. Örneğin:

fs Modülü ile Dosya İşlemleri


const fs = require('fs');

fs.writeFileSync('dosya.txt', 'Bu dosya fs modülü ile oluşturuldu.');
const data = fs.readFileSync('dosya.txt', 'utf8');
console.log(data);

http Modülü ile Basit Sunucu


const http = require('http');

const server = http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Bu sunucu http modülü ile çalıştırıldı.');
});

server.listen(3000, () => {
    console.log('Sunucu 3000 portunda çalışıyor...');
});

Üçüncü Taraf Modüllerin Kullanımı

Üçüncü taraf modüller npm aracılığıyla yüklenir. Örneğin, express modülünü yüklemek için terminale şu komutları yazmalısınız:

npm init -y
 npm install express

app.js içerisinde kullanımı:


const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Merhaba, Express!');
});

app.listen(3000, () => {
    console.log('Express sunucusu 3000 portunda çalışıyor...');
});

Express Nedir?

Express, Node.js üzerine inşa edilmiş minimalist ve esnek bir web uygulama çerçevesidir. HTTP isteklerini ve yanıtlarını yönetmek, orta katman yazılımlarını (middleware) kullanmak ve RESTful API'ler oluşturmak için güçlü ve kullanışlı bir yapı sunar. Express, performans odaklı ve modüler yapısı sayesinde web uygulamalarını hızlıca geliştirmenizi sağlar.

Daha Detaylı Örnek

Bir ürün sınıfı oluşturup farklı dosyalarda kullanmak için aşağıdaki adımları takip edebilirsiniz.

ProductExample isimli bir proje klasörü oluşturun. Klasör içerisinde aşağıdaki dosyaları oluşturun. Proje yönetimi VSCode ile kolaylıkla yapabilirsiniz.

nodejs express modüller require

product.js içerisi:


class Product {
    constructor(name, price, stock, type, size) {
        this.name = name;
        this.price = price;
        this.stock = stock;
        this.type = type;
        this.size = size;
    }

    getInfo() {
        return `Ürün: ${this.name}, Fiyat: ${this.price} TL, Stok: ${this.stock}, Tür: ${this.type}, Boyut: ${this.size}`;
    }
}

module.exports = Product;

app.js içerisi:


const express = require('express'); // Express üçüncü taraf modülüdür
const Product = require('./product'); // Product kullanıcı tanımlı modüldür

// Express uygulaması oluşturuluyor
const app = express();
app.use(express.json());

// Ürünler bu dizi içerisinde tutulsun
let products = [];

// Bu API ile ürün eklenir
app.post('/insert-product', (req, res) => {
    const { name, price, stock, type, size } = req.body;
    const newProduct = new Product(name, price, stock, type, size);
    products.push(newProduct);
    res.status(201).send('Ürün eklendi');
});

// Bu API ile ürünler liste olarak okunur
app.get('/get-products', (req, res) => {
    res.status(200).json(products);
});

// Bu API ile ürün silinir
app.delete('/delete-product/:name', (req, res) => {
    const { name } = req.params;
    products = products.filter(p => p.name !== name);
    res.status(200).send('Ürün silindi');
});

// Bu API ile ürün güncellenir
app.put('/update-product/:name', (req, res) => {
    const { name } = req.params;
    const { price, stock, type, size } = req.body;
    products = products.map(p => {
        if (p.name === name) {
            return new Product(name, price || p.price, stock || p.stock, type || p.type, size || p.size);
        }
        return p;
    });
    res.status(200).send('Ürün güncellendi');
});

app.listen(3000, () => {
    console.log('Sunucu 3000 portunda çalışıyor');
});

Bu örnekte, Product sınıfı başka bir dosyada oluşturulup require kullanılarak içe aktarılmış ve Express.js ile POST, GET, DELETE ve PUT işlemleri gerçekleştirilmiştir.

Komut satırında cd ProductExample ile klasör içine girip, önce npm init -y, sonra npm install express komutları ile Express modülünü projeye ekleyin.

nodejs express modüller require

node app.js komutu ile web uygulamasını çalıştırdığınızda her bir Web API bağlantısını Postman yazılımı ile kontrol edebilirsiniz.

http://localhost:3000/insert-product adresini Postman üzerinde aşağıdaki gibi bir JSON data göndererek çalıştırabilirsiniz.

nodejs express modüller require

Girilen ürünleri okumak için de http://localhost:3000/get-products adresinden web uygulamaya erişim sağlamalısınız

nodejs express modüller require

Node.js modül sistemi, projeleri daha modüler, esnek ve yeniden kullanılabilir hale getirmek için güçlü bir araçtır. Yerleşik, kullanıcı tanımlı ve üçüncü taraf modüller sayesinde geliştirme süreci kolaylaşır. Modül sisteminin etkili bir şekilde kullanılması, kod organizasyonunu ve ölçeklenebilirliği artıracaktır.

İlişkili İçerikler

Node Package Manager (NPM), Node.js ekosisteminin en önemli bileşenlerinden biridir. NPM, JavaScript projeleri için paket yönetimi sağlayan bir araçtır.

Node.js'te iki temel modül sistemi bulunmaktadır: CommonJS (CJS) ve ES Modules (ESM). CommonJS, Node.js'in varsayılan modül sistemidir, ES Modules ise modern Javascript standardına uygun olarak geliştirilmiştir.

Paylaşın
Etiket Bulutu