57 lines
2.4 KiB
Markdown
57 lines
2.4 KiB
Markdown
# 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`。
|