• 20-10-2025, 09:01:15
    #1
    merhaba node.js de dosyamı düzenledim ancak ne yaparsam yapayım boş sayfa alıyorum konsolda veri yok hata yok server dosyasını aşağıya bırakıyorum
    const express = require('express');
    const axios = require('axios');
    const path = require('path');
    const app = express();
    app.use(express.json());
    // Public klasör kontrolü
    const fs = require('fs');
    if (fs.existsSync('public')) {
        app.use(express.static('public'));
        console.log('✅ Public klasörü bulundu');
    } else {
        console.log('⚠️ Public klasörü bulunamadı, sadece API route\'ları çalışacak');
    }
    const sessions = new Map();
    
    // JSON ve URL encoded parser
    app.use(express.json());
    app.use(express.urlencoded({ extended: true }));
    // ✅ CRITICAL: Static dosyalar için doğru ayar
    app.use(express.static(path.join(__dirname, 'public'), {
        index: 'index.html',
        extensions: ['html', 'htm'],
        setHeaders: (res, filePath) => {
            console.log(`📁 Static file served: ${filePath}`);
        }
    }));
    // ✅ PUBLIC KLASÖR KONTROLÜ
    const publicPath = path.join(__dirname, 'public');
    const indexPath = path.join(publicPath, 'index.html');
    console.log('🔍 Dosya kontrolleri:');
    console.log(`- Public klasörü: ${publicPath}`);
    console.log(`- index.html yolu: ${indexPath}`);
    console.log(`- Public klasörü var mı: ${fs.existsSync(publicPath)}`);
    console.log(`- index.html var mı: ${fs.existsSync(indexPath)}`);
    // ✅ ANA SAYFA ROUTE'U - Geliştirilmiş
    app.get('/sd', (req, res) => {
        console.log('Ana sayfa isteği alındı');
        res.send('Basit bir metin cevabı');
    });
    app.get('/ds', (req, res) => {
        res.sendFile(path.join(__dirname, 'public', 'index.html'));
    });
    app.get('/dee', (req, res) => {
        const filePath = path.join(__dirname, 'public', 'index.html');
        console.log('Dosya yolu:', filePath);
        
        // Dosyanın var olup olmadığını kontrol et
        if (fs.existsSync(filePath)) {
            console.log('Dosya bulundu, gönderiliyor...');
            res.sendFile(filePath, (err) => {
                if (err) {
                    console.error('Dosya gönderilirken hata oluştu:', err);
                    res.status(500).send('Dosya gönderilemedi.');
                } else {
                    console.log('Dosya başarıyla gönderildi.');
                }
            });
        } else {
            console.error('Dosya bulunamadı:', filePath);
            res.status(404).send('Dosya bulunamadı.');
        }
    });
    app.get('/test', (req, res) => {
        res.send(`
            <!DOCTYPE html>
            <html>
            <head>
                <title>Test HTML</title>
                <style>
                    body { font-family: Arial; margin: 40px; background: #f0f0f0; }
                    .test { background: white; padding: 20px; border-radius: 10px; }
                </style>
            </head>
            <body>
                <div class="test">
                    <h1 style="color: green;">✅ HTML ÇALIŞIYOR!</h1>
                    <p>Eğer bu görünüyorsa, Express HTML gönderebiliyor.</p>
                    <p>Zaman: ${new Date().toLocaleString('tr-TR')}</p>
                    <a href="/">Ana Sayfaya Git</a>
                </div>
            </body>
            </html>
        `);
    });
  • 20-10-2025, 09:05:12
    #2
    niçin bir pub gibi kütüphaneleri kullanmıyorsunuz?
  • 20-10-2025, 09:07:29
    #3
    Aktimur adlı üyeden alıntı: mesajı görüntüle
    niçin bir pub gibi kütüphaneleri kullanmıyorsunuz?
    günaydın daha yeniyim detaylı bilmiyorum çıktı almaya çalıştım ama `` tırnakları içindev olan hiçbir veriyi yazmadı pub nedir? bi bakayim
  • 20-10-2025, 09:35:22
    #5
    res.send yerine res.render dener misiniz ? Yada HTML kodlarını bi dosyaya yazıp res.sendFile('./dosya.html') şeklinde deneyin
  • 20-10-2025, 11:05:12
    #6
    pug kurdum fakat beniim sorunum olan dosya yolunu bulmama sıkıntısı devam ediyor.
    csharpcoder adlı üyeden alıntı: mesajı görüntüle
    res.send yerine res.render dener misiniz ? Yada HTML kodlarını bi dosyaya yazıp res.sendFile('./dosya.html') şeklinde deneyin
    denedim hata alıyorum
    TypeError: path must be absolute or specify root to res.sendFile
    at ServerResponse.sendFile (C:\Users\iso_a\nodejsapi\node_modules\express\lib\response.js:441:11)
    at C:\Users\iso_a\nodejsapi\server.js:57:9
    at Layer.handle [as handle_request] (C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\layer.js:95:5)
    at next (C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\route.js:149:13)
    at Route.dispatch (C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\route.js:119:3)
    at Layer.handle [as handle_request] (C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\layer.js:95:5)
    at C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\index.js:284:15
    at Function.process_params (C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\index.js:346:12)
    at next (C:\Users\iso_a\nodejsapi\node_modules\express\lib\router\index.js:280:10)
        at SendStream.error (C:\Users\iso_a\nodejsapi\node_modules\serve-static\index.js:121:7)
  • 20-10-2025, 12:42:52
    #7
    path.join(__dirname, 'dosya.html') şeklinde deneyin. Path modülünü require etmeyi ve servet dosyanızla aynı klasöre koymayı unutmayın