开发 / 生产双配置

This commit is contained in:
2026-09-19 00:52:04 +08:00
parent 1ff4dfffb9
commit de412297fb
17 changed files with 303 additions and 591 deletions
+52 -7
View File
@@ -43,6 +43,41 @@ npm run dev
默认访问:http://localhost:3000
## 环境变量与打包
项目已按环境拆分配置文件,**打生产包不再需要手改 `.env`**
| 命令 | 用途 | 读取的配置 |
|---|---|---|
| `npm run dev` | 本地开发 | `.env.development` |
| `npm run build:prod` | 生产打包 | `.env.production` |
| `npm run build` | 等同 `build:prod` | `.env.production` |
| `npm run build:dev` | 用开发配置打包(排查用) | `.env.development` |
| `npm run dev:prod` | 以生产配置本地起服务(排查用) | `.env.production` |
配置文件说明:
| 文件 | 是否提交 | 说明 |
|---|---|---|
| `.env.development` | ✅ | 团队共享的开发配置,接口指向本地后端 |
| `.env.production` | ✅ | 团队共享的生产配置,接口指向线上 |
| `.env.example` | ✅ | 变量总览模板,新增变量时同步更新 |
| `.env.local` | ❌ | 个人通用覆盖 |
| `.env.<环境>.local` | ❌ | 个人针对某环境的覆盖,优先级最高 |
| `.env` | ❌ | 历史遗留的个人配置,优先级最低 |
优先级(高 → 低):
**进程环境变量 > `.env.<环境>.local` > `.env.<环境>` > `.env.local` > `.env`**
只有「变量尚未定义」时才会被下一层填充,因此高优先级不会被低优先级顶掉,
`.env` 里残留的本地地址也不会再污染生产包。
发布前可自查产物是否干净:
```bash
grep -rl "127.0.0.1" .output/ || echo "产物干净,无本地地址"
```
## 模板系统
模板存放在 `app/templates/` 目录下,每个模板独立目录,包含:
@@ -56,20 +91,30 @@ npm run dev
- `template-01`:科技蓝企业模板(完整)
- `template-02` ~ `template-04`:占位模板,后续根据设计稿实现
## 环境变量
## 环境变量清单
复制 `.env.example``.env`,按需修改
完整变量说明见 `.env.example`。核心变量
```bash
NUXT_PUBLIC_TENANT_ID=10398
# 租户 / 模板(生产留空,由域名自动识别)
NUXT_PUBLIC_TENANT_ID=
NUXT_PUBLIC_APP_ID=website
NUXT_PUBLIC_TEMPLATE_ID=template-01
NUXT_PUBLIC_TEMPLATE_ID=
# 接口地址
NUXT_PUBLIC_SERVER_API_BASE=https://server.websoft.top/api
NUXT_PUBLIC_MODULES_API_BASE=https://cms-api.websoft.top/api
NUXT_PUBLIC_APP_API_BASE=https://cms-api.websoft.top
NUXT_PUBLIC_BASE_DOMAIN=shoplnk.cn
NUXT_PUBLIC_MODULES_API_BASE=https://hjc-api.websoft.top/api
NUXT_PUBLIC_APP_API_BASE=https://websopy-api.websoft.top
# 多租户域名
NUXT_PUBLIC_BASE_DOMAINS=shoplnk.cn,sitelink.cn,wsdns.cn
```
> ️ `nuxt.config.ts` 内置的 `NUXT_PUBLIC_MODULES_API_BASE` 默认值已统一为
> `https://hjc-api.websoft.top/api`(原 `cms-api.websoft.top` 域名 `/api/*` 已返回 404
> 故全面切换到 `hjc-api`)。`.env.production` 中也显式指定同一地址。
> 若将来再次更换域名,请同步修改 `nuxt.config.ts`、`.env.production` 与 `.env.example`。
## 接口说明
本项目通过 `server/api/` 代理转发 SaaS 后端接口,前端不直接调用后端地址。