12 构建与部署
12.1 Nuxt 构建
bash
pnpm buildNuxt 生产产物位于 .output/,运行时使用 Nitro Server:
bash
node .output/server/index.mjs默认监听 0.0.0.0:3000,可通过 HOST 和 PORT 覆盖。
12.2 Docker 构建
项目标准 Dockerfile 使用 Node 20.19 Alpine,并通过多阶段构建减少运行镜像内容:
base:准备 Node 和 pnpm。deps:使用 lockfile 安装依赖。builder:注入NUXT_*构建参数并执行pnpm build。runner:只复制.output,启动 Nitro Server。
典型运行配置:
dockerfile
ENV HOST=0.0.0.0
ENV PORT=3000
CMD ["node", ".output/server/index.mjs"]文档只描述标准 Docker 构建流程,不包含内部部署文件或内部环境细节。
12.3 环境变量
Nuxt 构建时会读取 NUXT_* 环境变量并写入运行时配置。生产部署前确认:
- API Base URL 可从运行环境访问。
companyId、businessMode配置正确。- 上传地址、装修来源和 AI 服务地址符合当前环境。
- 公开变量没有包含密钥。
12.4 部署检查
- 执行
pnpm install --frozen-lockfile。 - 执行
pnpm lint和pnpm test。 - 注入目标环境变量并执行
pnpm build。 - 启动
.output/server/index.mjs。 - 验证首页、语言切换、登录、商品、购物车、下单和静态资源。
- 检查 SSR 首屏、API 地址、Cookie、跨域和日志。
