Bu sayfada · 9 başlık
Node.js Hakkında Bilmen Gereken 5 Temel Soru
JavaScript kodlarını tarayıcı dışında, bilgisayarda ve sunucu (backend) tarafında çalıştırmayı sağlayan yüksek performanslı bir çalışma ortamıdır.
Hızlı REST API’leri, gerçek zamanlı sohbet sunucuları, CLI (komut satırı) araçları ve frontend paket yöneticilerini (npm) çalıştırma yapılır.
Backend sunucularında, mikroservislerde, web geliştirme araçlarının altyapısında kullanılır.
nodejs.org adresinden indirilir; terminalde `node dosya.js` komutuyla doğrudan çalıştırılır.
JavaScript geliştiricilerinin tek bir dille hem frontend hem backend yazabilmesini sağlar; dünyanın en zengin paket deposu olan `npm` ekosisteminin temelidir.
Node.js ne için kullanılır?
JavaScript ile sunucu ve web uygulaması yazmak
npm ile hazır paketleri (kütüphaneleri) kurmak
React, Vue gibi modern web araçlarını çalıştırmak
Küçük otomasyon betikleri yazmak
Node.js kullanırken duyacağın kavramlar
- npm
- Node.js ile gelen paket yöneticisi; hazır kodları projene ekler.
- package.json
- Projenin adını ve kullandığı paketlerin listesini tutan dosya.
- node_modules
- Kurulan paketlerin indirildiği klasör. Çok büyüyebilir; GitHub'a yüklenmez.
- LTS
- Uzun süre desteklenen, en kararlı sürüm.
Nasıl kurulur?
Adımları görsellerle takip et. Ekran görüntüsüne dokunarak büyütebilirsin; sürümüne veya işletim sistemine göre düğmelerin yeri değişebilir.
- 1
-
2
Kurulumu varsayılan ayarlarla tamamla. npm otomatik olarak birlikte kurulur.
Şekil 2 · Varsayılan ayarlarla Next diyerek tamamla; npm de birlikte kurulur. (temsili çizim) -
3
Terminali açıp kurulumu kontrol et:
Terminalnode --version npm --versionŞekil 3 · İki sürüm numarası da görünüyorsa kurulum tamam (numaralar farklı olabilir). (temsili çizim)
Nasıl kullanılır?
Adım adım ilk kullanım. Kod kutularındaki "Kopyala" butonuyla komutları kopyalayabilirsin.
İlk programını yaz
merhaba.js adında bir dosya oluştur ve içine şunu yaz:
console.log("Merhaba Node.js!");
merhaba.cjs adında bir dosya oluştur ve console.log ile çıktı üret.
.cjs CommonJS örneğini açıkça belirtir; package.json type ayarıyla karışmasını önler.
Terminalde dosyanın bulunduğu klasörü doğrula.
Uygulama: server.cjs dosyasında node:http modülünü kullan.
Kontrol: Node ile tarayıcı API’lerini ayırıyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
İlk programını yaz
merhaba.cjs adında bir dosya oluştur ve console.log ile çıktı üret.
İşin mantığı
.cjs CommonJS örneğini açıkça belirtir; package.json type ayarıyla karışmasını önler.
Uygula ve gözlemle
Terminalde dosyanın bulunduğu klasörü doğrula.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
console.log("Merhaba Node.js!");Somut görev
server.cjs dosyasında node:http modülünü kullan.
Kontrol et
Node ile tarayıcı API’lerini ayırıyorum.
Takılırsan
document is not defined — DOM isteyen kodu Node’a taşımış olabilirsin; ortamı ayır veya uygun tarayıcı örneğini çalıştır.
Kendine sor
Node.js tarayıcı mıdır? Yanıt: Hayır; JavaScript çalışma ortamıdır, DOM API’lerini varsayılan olarak sağlamaz.
Çalıştır
Terminalde, dosyanın bulunduğu klasörde:
node merhaba.js
node merhaba.cjs komutuyla dosyayı çalıştır.
Çıktı terminaldedir; tarayıcıda sayfa oluşmasını bekleme.
Bir dosya yolu hatasını sözdizimi hatasından ayır; mesajdaki aranan yolu incele.
Uygulama: Yalnızca 127.0.0.1 üzerinde 3000 gibi boş bir porta bağlan.
Kontrol: Terminalin hangi klasörde olduğunu biliyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Çalıştır
node merhaba.cjs komutuyla dosyayı çalıştır.
İşin mantığı
Çıktı terminaldedir; tarayıcıda sayfa oluşmasını bekleme.
Uygula ve gözlemle
Bir dosya yolu hatasını sözdizimi hatasından ayır; mesajdaki aranan yolu incele.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
node merhaba.jsSomut görev
Yalnızca 127.0.0.1 üzerinde 3000 gibi boş bir porta bağlan.
Kontrol et
Terminalin hangi klasörde olduğunu biliyorum.
Takılırsan
Address already in use — O portta başka süreç olabilir; kendi sunucunu durdur veya boş bir yerel port seç.
Kendine sor
npm init sunucuyu açar mı? Yanıt: Hayır; proje meta verisini oluşturur.
Yeni proje başlat
Projeni npm'e tanıt. Klasörde bir package.json dosyası oluşur:
npm init -y
npm init akışı package.json oluşturur; bir sunucuyu kendiliğinden başlatmaz.
scripts alanına anlamlı bir komut ekleyip npm run ile çağırmayı dene.
Çalışma zamanı kodu ile paket meta verisini farklı dosyalarda tut.
Uygulama: GET /ders için JSON yanıtı üret; bilinmeyen yola 404 ver.
Kontrol: Yerel sunucuya erişip JSON yanıtını okuyabiliyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Yeni proje başlat
npm init akışı package.json oluşturur; bir sunucuyu kendiliğinden başlatmaz.
İşin mantığı
scripts alanına anlamlı bir komut ekleyip npm run ile çağırmayı dene.
Uygula ve gözlemle
Çalışma zamanı kodu ile paket meta verisini farklı dosyalarda tut.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
npm init -ySomut görev
GET /ders için JSON yanıtı üret; bilinmeyen yola 404 ver.
Kontrol et
Yerel sunucuya erişip JSON yanıtını okuyabiliyorum.
Takılırsan
require / import karıştı — Dosya uzantısını ve package.json type ayarını incele; modül biçimini tutarlı seç.
Kendine sor
Sunucu terminali neden açık kalır? Yanıt: İstek bekleyen süreç çalışmaya devam eder; bu tek başına hata değildir.
Paket kur
Örneğin tarih işlemleri için hazır bir paket kur:
npm install dayjs
Paket kurmadan önce gerçekten gerekli olup olmadığını ve resmî kaynağını incele.
dependencies ve geliştirme bağımlılığı ayrımını öğren.
Kilit dosyasını sürüm kontrolünde tutma kararını proje kuralıyla ver; node_modules klasörünü kopyalamak yerine bağımlılığı yeniden kurmayı öğren.
Uygulama: Content-Type başlığını JSON için doğru ayarla.
Kontrol: Sunucuyu nasıl durduracağımı biliyorum.

Videoyla adım adım izle · 3:20
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Paket kur
Paket kurmadan önce gerçekten gerekli olup olmadığını ve resmî kaynağını incele.
İşin mantığı
dependencies ve geliştirme bağımlılığı ayrımını öğren.
Uygula ve gözlemle
Kilit dosyasını sürüm kontrolünde tutma kararını proje kuralıyla ver; node_modules klasörünü kopyalamak yerine bağımlılığı yeniden kurmayı öğren.
Komut / kod · 1
Önce komutun ne yapacağını oku; işletim sistemi farklarını yazılı rehberde kontrol et.
Kod
npm install dayjsSomut görev
Content-Type başlığını JSON için doğru ayarla.
Kontrol et
Sunucuyu nasıl durduracağımı biliyorum.
Takılırsan
require / import karıştı — Dosya uzantısını ve package.json type ayarını incele; modül biçimini tutarlı seç.
Kendine sor
Sunucu terminali neden açık kalır? Yanıt: İstek bekleyen süreç çalışmaya devam eder; bu tek başına hata değildir.
Sık karşılaşılan sorunlar ve çözümleri
Bir yerde takılırsan önce buraya bak.
"node: command not found" hatası
Çözüm: Kurulumdan sonra terminali kapatıp yeniden aç. Olmazsa Node.js'i yeniden kur.
"Cannot find module" hatası
Çözüm: Projenin paketleri kurulmamış. Proje klasöründe npm install çalıştır.
Mac'te npm izin hatası (EACCES)
Çözüm: sudo ile çözmeye çalışma; Node.js'i nvm (Node Version Manager) ile kurmak bu sorunu ortadan kaldırır.
Sık sorulan sorular
Node.js bir programlama dili mi? +
Hayır. Node.js, JavaScript dilini tarayıcı dışında çalıştıran bir ortamdır.
npm, yarn ve pnpm arasındaki fark ne? +
Hepsi paket yöneticisidir ve aynı işi yapar. Yeni başlıyorsan Node.js ile gelen npm yeterli.
İpuçları
- Her zaman LTS sürümünü kur; daha kararlıdır.
node_modulesklasörünü GitHub'a yükleme,.gitignoredosyasına ekle.- Bir paketi kurmadan önce npmjs.com üzerinde ne kadar kullanıldığına ve güncel olup olmadığına bak.
Node.js & npm uygulamalı eğitim atölyesi
Node.js JavaScript’i tarayıcı dışında çalıştıran ortamdır. Dilin temel sözdizimi benzer olsa da document ve window gibi tarayıcı API’leri Node’da bulunmaz. Buna karşılık dosya sistemi ve ağ sunucusu gibi farklı yetenekler vardır. Hangi kodun hangi ortamı beklediğini bilmek ilk önemli ayrımdır.
npm bağımlılık ve komut yönetiminde kullanılır; Node ile aynı kavram değildir. package.json projenin kimliğini ve komutlarını, kilit dosyası ise kurulan sürümlerin tekrar üretilebilirliğini düzenler. Bir paketi kurmak, onun güvenilir veya gerekli olduğunu kendiliğinden kanıtlamaz.
İlk örnekte paket kurmadan yerleşik modüllerle çalışacağız. Böylece çalışma zamanı, dosya uzantısı, modül sistemi ve terminal konumu arasındaki farkı daha az değişkenle öğrenebilirsin. Uygulama çalışınca terminalin meşgul kalması bir sunucu için normal olabilir; durdurmayı da öğren.
Kurulum öncesi ve doğrulama
- Resmî Node.js sürüm politikasını inceleyip projenin desteklediği sürümü kur.
- node --version ve npm --version ile terminal erişimini doğrula.
- Bağımlılık kurmadan ayrı bir deneme klasörü aç.

Videoyla adım adım izle · 5:00
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Harici paket olmadan yerel JSON sunucusu
Node.js JavaScript’i tarayıcı dışında çalıştıran ortamdır. Dilin temel sözdizimi benzer olsa da document ve window gibi tarayıcı API’leri Node’da bulunmaz. Buna karşılık dosya sistemi ve ağ sunucusu gibi farklı yetenekler vardır. Hangi kodun hangi ortamı beklediğini bilmek ilk önemli ayrımdır.
Hazırlık
Resmî Node.js sürüm politikasını inceleyip projenin desteklediği sürümü kur. node --version ve npm --version ile terminal erişimini doğrula.
Proje adımı 1
server.cjs dosyasında node:http modülünü kullan.
Proje adımı 2
Yalnızca 127.0.0.1 üzerinde 3000 gibi boş bir porta bağlan.
Proje adımı 3
GET /ders için JSON yanıtı üret; bilinmeyen yola 404 ver.
Proje adımı 4
Content-Type başlığını JSON için doğru ayarla.
Proje adımı 5
Tarayıcı veya Postman ile durum kodu ve gövdeyi incele.
Proje adımı 6
Ctrl+C ile sunucuyu durdur; bağlantının neden artık açılmadığını açıkla.
Başarı ölçütü 1
Node ile tarayıcı API’lerini ayırıyorum.
Başarı ölçütü 2
Terminalin hangi klasörde olduğunu biliyorum.
Başarı ölçütü 3
Yerel sunucuya erişip JSON yanıtını okuyabiliyorum.
Başarı ölçütü 4
Sunucuyu nasıl durduracağımı biliyorum.
Bitirme çalışması: Harici paket olmadan yerel JSON sunucusu
- server.cjs dosyasında node:http modülünü kullan.
- Yalnızca 127.0.0.1 üzerinde 3000 gibi boş bir porta bağlan.
- GET /ders için JSON yanıtı üret; bilinmeyen yola 404 ver.
- Content-Type başlığını JSON için doğru ayarla.
- Tarayıcı veya Postman ile durum kodu ve gövdeyi incele.
- Ctrl+C ile sunucuyu durdur; bağlantının neden artık açılmadığını açıkla.
Başarı ölçütlerin
- Node ile tarayıcı API’lerini ayırıyorum.
- Terminalin hangi klasörde olduğunu biliyorum.
- Yerel sunucuya erişip JSON yanıtını okuyabiliyorum.
- Sunucuyu nasıl durduracağımı biliyorum.
Sorun giderme masası
document is not defined
DOM isteyen kodu Node’a taşımış olabilirsin; ortamı ayır veya uygun tarayıcı örneğini çalıştır.
Address already in use
O portta başka süreç olabilir; kendi sunucunu durdur veya boş bir yerel port seç.
require / import karıştı
Dosya uzantısını ve package.json type ayarını incele; modül biçimini tutarlı seç.
Kendini kontrol et
Node.js tarayıcı mıdır?
Hayır; JavaScript çalışma ortamıdır, DOM API’lerini varsayılan olarak sağlamaz.
npm init sunucuyu açar mı?
Hayır; proje meta verisini oluşturur.
Sunucu terminali neden açık kalır?
İstek bekleyen süreç çalışmaya devam eder; bu tek başına hata değildir.
Bir sonraki modüller
- Asenkron akış ve Promise
- Modüller ve test
- HTTP API, doğrulama ve hata yönetimi
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.