Gitlab@Informatics

Skip to content
Snippets Groups Projects
Commit a8c21ef4 authored by 65160024's avatar 65160024
Browse files

update server.js

parent 6a354a9f
Branches
No related tags found
No related merge requests found
const mysql = require("mysql2");
const express = require("express"); const express = require("express");
const app = express(); const mysql = require("mysql2");
const morgan = require("morgan"); const morgan = require("morgan");
const { readdirSync } = require("fs"); const { readdirSync } = require("fs");
const cors = require("cors"); const cors = require("cors");
const path = require("path"); const path = require("path");
require("dotenv").config(); // โหลดตัวแปรจาก .env
const app = express();
// เชื่อมต่อฐานข้อมูล MySQL // เชื่อมต่อฐานข้อมูล MySQL
const db = mysql.createConnection({ const db = mysql.createConnection({
...@@ -19,7 +21,11 @@ const db = mysql.createConnection({ ...@@ -19,7 +21,11 @@ const db = mysql.createConnection({
db.connect((err) => { db.connect((err) => {
if (err) { if (err) {
console.error("❌ ไม่สามารถเชื่อมต่อฐานข้อมูล:", err); console.error("❌ ไม่สามารถเชื่อมต่อฐานข้อมูล:", err);
<<<<<<< HEAD:server.js
return; return;
=======
process.exit(1); // ปิดโปรแกรมถ้าเชื่อมต่อไม่ได้
>>>>>>> 8a73597 (update server.js):server/server.js
} }
console.log("✅ เชื่อมต่อฐานข้อมูลสำเร็จ!"); console.log("✅ เชื่อมต่อฐานข้อมูลสำเร็จ!");
}); });
...@@ -27,11 +33,7 @@ db.connect((err) => { ...@@ -27,11 +33,7 @@ db.connect((err) => {
// Middleware // Middleware
app.use(morgan("dev")); app.use(morgan("dev"));
app.use(express.json({ limit: "20mb" })); app.use(express.json({ limit: "20mb" }));
app.use( app.use(cors({ origin: "*" }));
cors({
origin: "*", // อนุญาตทุกโดเมน
})
);
// โหลด router จากโฟลเดอร์ routes // โหลด router จากโฟลเดอร์ routes
const routesPath = path.join(__dirname, "routes"); const routesPath = path.join(__dirname, "routes");
...@@ -40,8 +42,19 @@ readdirSync(routesPath).map((file) => { ...@@ -40,8 +42,19 @@ readdirSync(routesPath).map((file) => {
app.use("/api", require(routePath)); app.use("/api", require(routePath));
}); });
<<<<<<< HEAD:server.js
// app.get('/', (req, res) => { // app.get('/', (req, res) => {
// res.send('Hello World!') // res.send('Hello World!')
// }) // })
app.listen(3000, () => console.log("Server is running on port 3000")); app.listen(3000, () => console.log("Server is running on port 3000"));
=======
// Route หลัก
app.get("/", (req, res) => {
res.send("Hello, world!");
});
// เริ่มเซิร์ฟเวอร์
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`🚀 Server is running on port ${PORT}`));
>>>>>>> 8a73597 (update server.js):server/server.js
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
"bcryptjs": "^3.0.2", "bcryptjs": "^3.0.2",
"cloudinary": "^2.6.0", "cloudinary": "^2.6.0",
"cors": "^2.8.5", "cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2", "express": "^4.21.2",
"jsonwebtoken": "^9.0.2", "jsonwebtoken": "^9.0.2",
"morgan": "^1.10.0", "morgan": "^1.10.0",
...@@ -770,6 +771,18 @@ ...@@ -770,6 +771,18 @@
"npm": "1.2.8000 || >= 1.4.16" "npm": "1.2.8000 || >= 1.4.16"
} }
}, },
"node_modules/dotenv": {
"version": "16.4.7",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
"integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
},
"funding": {
"url": "https://dotenvx.com"
}
},
"node_modules/dunder-proto": { "node_modules/dunder-proto": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
"bcryptjs": "^3.0.2", "bcryptjs": "^3.0.2",
"cloudinary": "^2.6.0", "cloudinary": "^2.6.0",
"cors": "^2.8.5", "cors": "^2.8.5",
"dotenv": "^16.4.7",
"express": "^4.21.2", "express": "^4.21.2",
"jsonwebtoken": "^9.0.2", "jsonwebtoken": "^9.0.2",
"morgan": "^1.10.0", "morgan": "^1.10.0",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment