首次提交
Azure Static Web Apps CI/CD / Close Pull Request Job (push) Skipped
Build and Deploy / build (push) Failing after 9m48s
Azure Static Web Apps CI/CD / Build and Deploy Job (push) Failing after 9m50s

This commit is contained in:
2026-10-24 01:29:24 +08:00
parent e70d46436c
commit c7fdc11dbd
146 changed files with 9750 additions and 5578 deletions
+43
View File
@@ -0,0 +1,43 @@
# ClassHomeworkBoard - Docker 部署版本
这是一个专门为服务器部署设计的 Node.js 后端程序,它包含了 Express 服务器和构建好的前端静态文件。此版本去除了对 Windows 特有功能(如通过 `user32.dll` 抓取 PPT 和 WPS 窗口)的依赖,完美适配 Linux 和 Docker 环境。
## 包含内容
- `server.js`: 提供 `/api/local-file/*` 本地存储接口的 Express 后端。
- `dist/`: 已经构建好的前端静态资源文件。
- `Dockerfile`: 用于构建 Docker 镜像的配置文件。
- `package.json`: 服务器的 npm 依赖配置文件。
## 如何使用 Docker 部署
1. **构建 Docker 镜像**
在 `docker-server` 目录下运行以下命令:
```bash
docker build -t classhomeworkboard .
```
2. **运行 Docker 容器**
```bash
docker run -d -p 3001:3001 -v chwb_data:/app/data --name chwb classhomeworkboard
```
> 这里的 `-v chwb_data:/app/data` 表示将容器内的 `/app/data`(存储 JSON 数据的文件夹)挂载到外部卷,防止数据随容器销毁而丢失。
3. **访问服务**
打开浏览器,访问 `http://<服务器IP>:3001` 即可使用。
## 如果你需要更新前端代码
如果你在主项目中修改了 Vue 前端代码:
1. 在项目根目录运行 `npm run build`(或 `pnpm run build`)重新打包前端。
2. 将打包后生成的 `dist` 文件夹覆盖到本目录的 `dist` 文件夹。
3. 重新执行 Docker 镜像的构建与部署步骤。
## 本地(不使用 Docker)直接运行
如果你想直接在服务器的 Node 环境中运行:
```bash
npm install
npm start
```
默认会在 3001 端口启动。