# jha-1049-sgdj-web 黄果短剧 H5 / Web。工程基线来自 `jha-1046-hjsq-web`(Next.js 16 · React 19 · pnpm)。当前只有空白首页。 ## 环境要求 - Node.js `>= 20.9`(打包 Linux sharp 推荐 **22**) - pnpm `10+` ## 本地开发 ```bash pnpm install pnpm dev # development.env,http://localhost:26149 pnpm dev:test # test.env ``` | 命令 | 说明 | |------|------| | `pnpm lint` | ESLint | | `pnpm build` | 正式环境构建 | | `pnpm build:test` | 测试环境构建 | ## 环境配置 配置文件在 `config/`(可另加 `*.local.env`,勿提交密钥): | 文件 | 用途 | |------|------| | `config/development.env` | 本地开发 | | `config/test.env` | 测试构建 / 测试服 | | `config/production.env` | 正式构建 / 正式服 | 正式服(项目代号 `wdb_sgdj`,对齐 `jha-1048-hddj-web`):`API_PROXY_TARGET` → `https://webhgbapi.mfcg.me`,H5 `PORT=21038`,站点 `https://huangguoduanju.im`;后台 ht `websgdj.weballht.com`(web 服务端口 `21037` 不在本仓库)。 ## 打包 测试包对齐 `jha-1047-91dj-web`:不含 `node_modules`,保留 `.next-test`,并带 SHA-256。服务器执行 `npm ci --omit=dev` 后 `node start.mjs`。正式包仍带 Linux 运行依赖,只用 MD5。 ```bash pnpm pack:gz # 正式一键打包并部署(上传跳板机 + rsupdate.sh) pnpm pack:gz:only # 仅生成本地 web_sgdj_h5.tar.gz + .md5 pnpm deploy:prod # 同 pack:gz pnpm pack:gz:test:only # 测试包,不上传 ``` | 环境 | 默认目标 | 目录 | 端口 | 远端命令 | |------|----------|------|------|----------| | 测试 | `root@172.104.181.99` | `/server/web_sgdj/h5` | `22889` | `bash run.sh` | | 正式 | `server@34.92.204.175` | `/home/server/web_sgdj/h5` | `22889` | `bash rsupdate.sh` | 测试产物为根目录的 `web_sgdj_h5.tar.gz` 和 `web_sgdj_h5.tar.gz.sha256`,同时刷新本地 `web_sgdj_h5.md5`。实际上传的是压缩包、SHA-256 和 `deploy/up_next_h5.sh`,不会覆盖服务器上的 `run.sh`。`deploy/run.sh` 只作为首次放到 `/server/web_sgdj/h5/` 的副本。依赖变更后要同时更新 `pnpm-lock.yaml` 和 `package-lock.json`,测试服按后者执行 `npm ci`。 可用 `DEPLOY_HOST`、`DEPLOY_DIR`、`DEPLOY_RUN_DIR`、`DEPLOY_SSH_PORT`、`DEPLOY_PACKAGE_NAME` 覆盖测试目标。旧变量 `DEPLOY_TEST_HOST`、`DEPLOY_TEST_DIR` 仍然有效。 Standalone 用包内入口启动:`node start.mjs`。