v2.5.2
Giriş yap

Sunucu bazlı React projesi?

trsherlock
134 defa görüntülendi

Merhaba arkadaşlar

Arkadaşlar bir react projesi ile sistemde veri tabanı, dosya vb. işlemler için
ek bir sunucuya ihtiyacımız var. Birleşik bir sistem var mıdır?

Cevap yaz
Cevaplar (2)
trsherlock
21 gün önce

nodejs, express kullanılmak istenirse. Bir önceki örnekte exec kullanmıştım. Gpt spawn önerdi.
Hem sunucu hem de react projenizi konsolda takip edebilirsiniz. exec sadece sunucu bilgilerini döküyor.

import { spawn } from "child_process";
app.use((req, res, next) => {
    const origin = req.headers.origin
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
    if (req.method === 'OPTIONS') {
        res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,DELETE,OPTIONS');
        // Önbelleğe alma süresi (saniye)
        res.setHeader('Access-Control-Max-Age', '600');
        return res.sendStatus(204);
    }
    next();
})
app.listen(PORT, () => {
    const vite = spawn("npx", ["vite"], { stdio: "inherit", shell: true });
    vite.on("close", (code) => {
        console.log(`Vite kapandı (kod: ${code})`);
    });
    console.log(`Servers is running on http://localhost:${PORT}`);
});

trsherlock
22 gün önce

Kendimce bir çözüm ürettim sadece yapılandırma aşamalarında bilmediğim teknik konularda yapay zeka yardımı aldım.

package.json

"script": {
"dev": "node ws.js"
}

ws.js

express(cors ayarına dikkat) veya ws çalıştırma dosyasına ekle.


import { WebSocketServer } from 'ws';
import { exec } from "child_process";

// 8080 portunda basit bir WebSocket sunucusu oluştur
const wss = new WebSocketServer({ port: 8080 });

wss.on('connection', (ws) => {
  

  ws.on('message', (message) => {
    console.log('Mesaj alındı:', message.toString());
    ws.send(`Sunucudan yanıt: ${message.toString().toUpperCase()}`);
  });

  ws.on('close', () => {
    console.log('İstemci bağlantısı kapandı.');
  });
});
// React Projesini çalıştır
exec("npx vite",  (error, stdout, stderr) => {
      if (error) {
        console.error("Hata:", error.message);
        return;
      }
      if (stderr) {
        console.error("stderr:", stderr);
      }
      console.log("stdout:", stdout);
    });
console.log('WebSocket sunucusu 8080 portunda çalışıyor.');