From 38b200f9b35d155e4b8d003cf6e5aac52ca666c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Sun, 21 Dec 2025 21:55:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(server):=20=E6=B7=BB=E5=8A=A0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5=E6=B5=8B=E8=AF=95=E5=B9=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=90=AF=E5=8A=A8=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加了服务器启动时的数据库连接测试功能,确保数据库可用性 新增 start.bat 和 dev.bat 脚本用于简化开发和生产环境启动 脚本会自动检查端口占用并处理依赖安装 --- backend/server.js | 6 +++++- scripts/dev.bat | 26 ++++++++++++++++++++++++++ scripts/start.bat | 26 ++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 scripts/dev.bat create mode 100644 scripts/start.bat diff --git a/backend/server.js b/backend/server.js index 4e9824b..4527c11 100644 --- a/backend/server.js +++ b/backend/server.js @@ -122,7 +122,11 @@ app.use((err, req, res, next) => { res.status(500).json({ error: 'Internal server error' }); }); -app.listen(PORT, () => { +app.listen(PORT, async () => { console.log(`Server running on port ${PORT}`); console.log(`访问地址: http://localhost:${PORT}`); + + // 测试数据库连接 + const dbConfig = require('./config/database'); + await dbConfig.testConnection(); }); \ No newline at end of file diff --git a/scripts/dev.bat b/scripts/dev.bat new file mode 100644 index 0000000..1a43471 --- /dev/null +++ b/scripts/dev.bat @@ -0,0 +1,26 @@ +@echo off +setlocal enabledelayedexpansion + +echo Checking if WebWork is already running... + +:: 查找占用 3000 端口的进程 PID +for /f "tokens=5" %%a in ('netstat -ano ^| findstr :3000 ^| findstr LISTENING') do ( + set PID=%%a + if not "!PID!"=="" ( + echo Port 3000 is already in use by PID !PID!. Killing process... + taskkill /F /PID !PID! + ) +) + +echo Starting WebWork System in Development Mode... + +cd ..\backend + +if not exist node_modules ( + echo node_modules not found, installing dependencies... + call npm install +) + +echo Starting Backend Server with nodemon... +start http://localhost:3000 +npm run dev diff --git a/scripts/start.bat b/scripts/start.bat new file mode 100644 index 0000000..7066fa9 --- /dev/null +++ b/scripts/start.bat @@ -0,0 +1,26 @@ +@echo off +setlocal enabledelayedexpansion + +echo Checking if WebWork is already running... + +:: 查找占用 3000 端口的进程 PID +for /f "tokens=5" %%a in ('netstat -ano ^| findstr :3000 ^| findstr LISTENING') do ( + set PID=%%a + if not "!PID!"=="" ( + echo Port 3000 is already in use by PID !PID!. Killing process... + taskkill /F /PID !PID! + ) +) + +echo Starting WebWork System... + +cd ..\backend + +if not exist node_modules ( + echo node_modules not found, installing dependencies... + call npm install +) + +echo Starting Backend Server... +start http://localhost:3000 +npm start