Skip to main content

Node.js Projelerinde TypeScript Kurulumu: Adım Adım Express Sunucu Geliştirme

🧠 Bu Rehberde Ne Öğreneceksiniz?

Bu rehberde, Node.js üzerinde TypeScript kullanarak tip güvenliği yüksek bir proje kurmayı adım adım öğreneceksiniz.
Aşağıdaki adımlarda, Express çatısını entegre etmeyi, ESLint ile kod kalitesini artırmayı ve tsconfig.json dosyasını yapılandırmayı göreceksiniz.

İzlenecek Adımlar:

  1. Proje dizinini başlatma (npm init)
  2. TypeScript kurulumu ve derleyici yapılandırması
  3. Express ve tip tanımlarının eklenmesi
  4. TypeScript sunucu kodunun yazılması
  5. Derleme (npx tsc) ve çalıştırma
  6. ESLint ile kod denetimi
  7. package.json script’lerinin düzenlenmesi

1️⃣ Proje Dizini Oluşturma ve Başlatma

Yeni bir klasör oluşturun ve npm projesi başlatın:

mkdir rabisu-node-ts
cd rabisu-node-ts
npm init -y

💡 Açıklama: -y parametresi, tüm soruları varsayılan olarak yanıtlayarak package.json dosyasını oluşturur.


2️⃣ TypeScript Derleyicisini Yapılandırma

TypeScript’i geliştirme bağımlılığı olarak kurun:


npm install --save-dev typescript

Şimdi derleyici ayarlarını içeren tsconfig.json dosyasını oluşturun:


npx tsc --init

Aşağıdaki ayarları uygulayın:


{
"compilerOptions": {
"module": "commonjs",
"esModuleInterop": true,
"target": "es2020",
"moduleResolution": "node",
"sourceMap": true,
"outDir": "dist",
"strict": true
},
"lib": ["es2020"]
}

📘 Özet:

"module": "commonjs" → Node.js modül sistemi

"outDir": "dist" → Derlenmiş dosyaların çıktısı

"strict": true" → Katı tip kontrolü

"esModuleInterop": true" → ES modül uyumluluğu


3️⃣ Express Sunucusu ve Tip Tanımlarını Kurma

Express çatısını projeye ekleyin:


npm install express
npm install --save-dev @types/express

📘 Açıklama: @types/express, Express kütüphanesi için TypeScript tip bilgilerini ekler.

Kaynak klasörünüzü oluşturun:


mkdir src
nano src/app.ts

app.ts dosyasına şu kodu ekleyin 👇


import express, { Request, Response } from 'express';

const app = express();
const port = 3000;
const sunucuAdresi = 'tr1-node01.rabisu.cloud';

app.get('/', (req: Request, res: Response) => {
res.send('Rabisu Cloud Hoş Geldiniz!');
});

app.listen(port, () => {
console.log(`Sunucu aktif: http://${sunucuAdresi}:${port}`);
});

💡 Bu kod, 3000 portunda çalışan bir Express sunucusu oluşturur.


4️⃣ TypeScript Kodunu Derleme ve Çalıştırma

Kodu JavaScript’e dönüştürün:


npx tsc

💬 Açıklama: Bu komut src/app.ts dosyasını derleyip dist/app.js çıktısını üretir.

Sunucuyu başlatın:


node dist/app.js

🟢 Beklenen çıktı:


Sunucu aktif: http://tr1-node01.rabisu.cloud:3000

5️⃣ ESLint ile Kod Kalitesi Kontrolü

Kod tutarlılığını korumak için ESLint’i kurun:


npm install --save-dev eslint
npm init @eslint/config@latest
Kurulum sırasında şu seçenekleri belirleyin:

Kullanım amacı: Sözdizimi kontrolü ve hata bulma

Modül tipi: JavaScript modules (import/export)

Framework: None

TypeScript kullanımı: Yes

Çalışma ortamı: Node

Config dosyası formatı: JavaScript

Yapılandırmadan sonra .eslintrc.js dosyanız şöyle görünmelidir:

module.exports = {
env: {
es2021: true,
node: true,
},
extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
parser: '@typescript-eslint/parser',
parserOptions: {
ecmaVersion: 13,
sourceType: 'module',
},
plugins: ['@typescript-eslint'],
rules: {},
};

Kodunuzu kontrol edin:


npx eslint . --ext .ts

6️⃣ package.json Komutlarını Güncelleme

package.json dosyanıza sık kullanılan komutları ekleyin:


"scripts": {
"start": "tsc && node dist/app.js",
"lint": "eslint . --ext .ts",
"test": "echo \"Error: no test specified\" && exit 1"
}

Artık aşağıdaki kısa yolları kullanabilirsiniz:


npm run start # Derle ve çalıştır
npm run lint # Kod denetimi yap

🧩 Faydalı Ayarlar (tsconfig.json için)

⚙️ Ayar💬 Açıklama💡 Önerilen Değer
"strict"Tip hatalarını erken tespit eder.true
"rootDir"TypeScript kaynak dosyalarının dizini."./src"
"outDir"Derlenmiş JavaScript dosyalarının çıktısı."./dist"
"skipLibCheck"Kütüphane tip kontrolünü hızlandırır.true

❓ Sıkça Sorulan Sorular (SSS)

  1. TypeScript kullanmak Node.js performansını düşürür mü?

Hayır. TypeScript yalnızca derleme sırasında çalışır. Çalışma zamanında (runtime) Node.js saf JavaScript kodunu çalıştırır.

  1. @types/express paketi neden gerekli?

Express JavaScript ile yazılmıştır. Bu paket, TypeScript’in Express API’sini tanımasını sağlar.

  1. Sürekli derleme yapmak yorucu mu?

Evet, bu yüzden ts-node kullanabilirsiniz:


npx ts-node src/app.ts
  1. tsconfig.json’daki en önemli ayar nedir?

Kesinlikle "strict": true. Kod güvenliğini maksimuma çıkarır.

  1. ESLint neden önemli?

Kod stilini korur, olası hataları erkenden tespit eder. Takım projelerinde standardizasyon sağlar.


🚀 Sonuç

Bu rehberle:

Node.js üzerinde TypeScript yapılandırmasını yaptık,

Express ile bir sunucu kurduk,

ESLint ile kod kalitesini artırdık,

npm script’leriyle projeyi otomatikleştirdik.

Artık tip güvenli, modern ve ölçeklenebilir Node.js projeleri geliştirmeye hazırsınız. Uygulamanızı Rabisu Bulut platformunun güçlü sanal sunucularında hemen çalıştırabilir, güvenle ölçeklendirebilirsiniz. ☁️