# official-website **Repository Path**: w-ch/official-website ## Basic Information - **Project Name**: official-website - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2025-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 诚唐科技官方网站 Monorepo 本项目包含前端站点与后端服务两个子应用,使用 pnpm workspace + Turbo 进行任务编排与管理。 - 前端:`apps/web`(Vue 3 + Vite + TypeScript) - 后端:`apps/server`(NestJS + TypeScript + PostgreSQL/内存回退) - 包管理:`pnpm@9`(根 `package.json` 中声明) - 任务编排:Turbo(根脚本使用 `turbo run ...`) ## 环境要求 - Node.js 18 或更高版本 - pnpm 9(安装:`npm i -g pnpm`) ## 安装依赖 - 在项目根目录执行:`pnpm install` ## 本地运行 - 同时启动前后端(通过 Turbo):`pnpm dev` - 仅前端:`pnpm --filter @official-website/web dev` - 仅后端:`pnpm --filter @official-website/server dev` 前端开发代理(仅开发模式生效)需在根或环境中配置以下变量(Vite 使用): - `VITE_API_BASE_URL`:后端 API 地址,用于代理 `/api` 前缀 - `VITE_KNOWLEDGE_BASE`:知识库服务地址,用于代理 `/knowledge` 前缀 后端环境变量在 `apps/server/.env` 中维护,示例键: - 数据库:`PG_HOST`、`PG_PORT`、`PG_USER`、`PG_PASSWORD`、`PG_DATABASE`、`PG_FALLBACK_TO_MEMORY` - SMTP(邮件通知):`SMTP_URL` 或 `SMTP_HOST/SMTP_PORT/SMTP_USER/SMTP_PASS/SMTP_SECURE`、`EMAIL_FROM` 说明:服务端已启用 `dotenv`,`apps/server/src/main.ts` 会自动加载 `.env`。 ## 代码检查与格式化 - 类型检查:`pnpm typecheck`(或分别在子包中运行) - 代码规范:`pnpm lint` / `pnpm lint:fix` - 格式化:`pnpm format` ## 构建与部署 前端(静态资源): - 构建:`pnpm --filter @official-website/web build` - 产物目录:`apps/web/dist/` - 部署:将 `apps/web/dist/` 内容部署到任意静态站点服务器(Nginx、静态托管等) 后端(Node 服务): - 构建:`pnpm --filter @official-website/server build` - 产物目录:`apps/server/dist/` - 启动:`pnpm --filter @official-website/server start` 或 `node apps/server/dist/main.js` - 部署:将 `apps/server` 子包连同 `.env`(不提交到仓库)拷贝至服务器,安装依赖后构建并启动 同时构建全部子包: - `pnpm build`(调用 Turbo 执行各子包的 `build`) ## 目录结构 ``` official-website/ ├─ apps/ │ ├─ web/ # 前端应用(Vue 3 + Vite) │ └─ server/ # 后端应用(NestJS) ├─ turbo.json # Turbo 任务配置 ├─ pnpm-workspace.yaml ├─ package.json # 根脚本(turbo run ...) └─ README.md ``` ## 备注 - 若仅部署后端,建议在服务器上单独执行:`pnpm --filter @official-website/server build && pnpm --filter @official-website/server start` - 服务器环境未配置数据库时,后端会自动回退到内存模式(`PG_FALLBACK_TO_MEMORY=true`),仅用于临时运行,非生产可用。