Merhaba, node.js ile backend yazıyorum ancak takıldığım bir yer var sınıf içerisinde sınıfa ait metot var bu metot veritabanına bağlantı sağlıyor daha sonra static metot var buda veritabanından sorgulama yapacağım zaman çağıracağım metot ancak sınıfa ait metod return içermesine rağmen static metotta kullanamıyorum. Bir yerde eksik yapıyorum bunu nasıl çözebilirim…
Bir başka sorunum ise get request metodu sırasında belli bir dosya okunacak dosya var ise farklı bir sayfa yok ise başka bir sayfa gösterilecek ancak fs modülü ile ilgili işlemleri başka bir js dosyasının içerisinde yapıyorum bu sebeple her ne kadar readFileSync desemde senkron çalışmıyor ve dosya bulunamadı diye browser’da hata alıyorum ilgili kodlar aşağıdadır.
var mysql = require("mysql");
class Database {
constructor(host, user, password, database, port) {
this.host = host;
this.user = user;
this.password = password,
this.database = database,
this.port = port || 3306
};
dbConnetor() {
let connector = mysql.createConnection({
host: this.host,
user: this.user,
password: this.password,
database: this.database,
port : this.port
});
return connector;
}
static getDatabase(queryString) {
this.dbConnetor().query(queryString, (err, data) => {
if (err) {
return err;
}
else {
return data;
}
});
};
};
module.exports = Database;
router.js dosyasında olan kodlar
var express = require("express");
var router = express.Router();
var path = require("path");
var Database = require("../../Model/database")
var createDbJson = require("../../Model/createDbJson");
router.get("/", (req, res) => {
let file = createDbJson.jsonFile();
if(file == "undefined"){
console.log("if", file)
res.render("../Views/ui/createdatabase.pug", {title: "Veritabanı Oluştur"});
}
else{
console.log("else", file)
res.render("../Views/ui/login.pug", {title: "Giriş Yap"});
}
});
router.post("/", (req, res) => {
})
module.exports = router;
router.js e import ettiğim fs işleminin yapıldığı dosyada bulunan kodlar
var fs = require("fs");
module.exports.jsonFile = fs.readFileSync(__dirname + "./database.json", (err, file) => {
if(err){
console.log("CDJ-ERR", err);
return err;
}
else{
console.log("CDJ-FILE", file);
return file;
}
});
module.exports.createFile = (host, user, password, database, port) => {
fs.appendFile("./Model/database.json", {host: host, user: user, password: password, database: database, port: port}, () => {});
}