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>
`);
}); node.js server dosyasında html çıktı veya .html dosyası açamıyorum
6
●92
- 20-10-2025, 09:01:15merhaba 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
- 20-10-2025, 09:07:29günaydın daha yeniyim detaylı bilmiyorum çıktı almaya çalıştım ama `` tırnakları içindev olan hiçbir veriyi yazmadı pub nedir? bi bakayimAktimur adlı üyeden alıntı: mesajı görüntüle
- 20-10-2025, 09:11:45
- 20-10-2025, 09:35:22res.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:12pug kurdum fakat beniim sorunum olan dosya yolunu bulmama sıkıntısı devam ediyor.Aktimur adlı üyeden alıntı: mesajı görüntüle
denedim hata alıyorumcsharpcoder adlı üyeden alıntı: mesajı görüntüle
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:52path.join(__dirname, 'dosya.html') şeklinde deneyin. Path modülünü require etmeyi ve servet dosyanızla aynı klasöre koymayı unutmayın