İçeriğe geç
Geliştirme Araçları

Node.js nedir, ne zaman gerekir? Kurulum ve ilk kod

JavaScript'i tarayıcının dışında, bilgisayarında ve sunucularda çalıştırmanı sağlar. Beraberinde gelen npm ile milyonlarca hazır kod paketini tek komutla projene ekleyebilirsin.

Ücretsiz, açık kaynak Windows, Mac, Linux Uygulamalı atölye ↓ nodejs.org ↗
Webino App Ekibi Son güncelleme:
Bu sayfada · 9 başlık

Node.js Hakkında Bilmen Gereken 5 Temel Soru

Ne İçin Kullanılır?

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.

Neler Yapılı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.

Nerede Kullanılır?

Backend sunucularında, mikroservislerde, web geliştirme araçlarının altyapısında kullanılır.

Nasıl & Nerede Çalıştırılır?

nodejs.org adresinden indirilir; terminalde `node dosya.js` komutuyla doğrudan çalıştırılır.

Neden Önemlidir?

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. 1

    nodejs.org adresinden LTS (uzun süre desteklenen) sürümü indir.

    Gerçek ekran görüntüsü Resmi site · 3 Kasım 2026 ekran görüntüsü
    Node.js indirme ve kurulum seçenekleri.

    Node.js indirme ve kurulum seçenekleri.

  2. 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. 3

    Terminali açıp kurulumu kontrol et:

    Terminal
    node --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.

1

İlk programını yaz

merhaba.js adında bir dosya oluştur ve içine şunu yaz:

JavaScript
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.

Node.js & npm · İlk programını yaz — uygulamalı anlatım: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
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.

2

Çalıştır

Terminalde, dosyanın bulunduğu klasörde:

Terminal
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.

Node.js & npm · Çalıştır — uygulamalı anlatım: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
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.js

Somut 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.

3

Yeni proje başlat

Projeni npm'e tanıt. Klasörde bir package.json dosyası oluşur:

Terminal
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.

Node.js & npm · Yeni proje başlat — uygulamalı anlatım: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
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 -y

Somut 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.

4

Paket kur

Örneğin tarih işlemleri için hazır bir paket kur:

Terminal
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.

Node.js & npm · Paket kur — uygulamalı anlatım: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
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 dayjs

Somut 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ı

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

  1. Resmî Node.js sürüm politikasını inceleyip projenin desteklediği sürümü kur.
  2. node --version ve npm --version ile terminal erişimini doğrula.
  3. Bağımlılık kurmadan ayrı bir deneme klasörü aç.
Node.js & npm · proje atölyesi: açıklamalı kavram şeması
Webino App öğretici şeması · Uygulama ekran görüntüsü değildir.
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

  1. server.cjs dosyasında node:http modülünü kullan.
  2. Yalnızca 127.0.0.1 üzerinde 3000 gibi boş bir porta bağlan.
  3. GET /ders için JSON yanıtı üret; bilinmeyen yola 404 ver.
  4. Content-Type başlığını JSON için doğru ayarla.
  5. Tarayıcı veya Postman ile durum kodu ve gövdeyi incele.
  6. Ctrl+C ile sunucuyu durdur; bağlantının neden artık açılmadığını açıkla.

Başarı ölçütlerin

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

  1. Asenkron akış ve Promise
  2. Modüller ve test
  3. HTTP API, doğrulama ve hata yönetimi

Resmî öğretici ve belgeler

Bu içerik işine yaradı mı?

Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.