Skip to content

12 构建与部署

12.1 Nuxt 构建

bash
pnpm build

Nuxt 生产产物位于 .output/,运行时使用 Nitro Server:

bash
node .output/server/index.mjs

默认监听 0.0.0.0:3000,可通过 HOSTPORT 覆盖。

12.2 Docker 构建

项目标准 Dockerfile 使用 Node 20.19 Alpine,并通过多阶段构建减少运行镜像内容:

  1. base:准备 Node 和 pnpm。
  2. deps:使用 lockfile 安装依赖。
  3. builder:注入 NUXT_* 构建参数并执行 pnpm build
  4. 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 可从运行环境访问。
  • companyIdbusinessMode 配置正确。
  • 上传地址、装修来源和 AI 服务地址符合当前环境。
  • 公开变量没有包含密钥。

12.4 部署检查

  1. 执行 pnpm install --frozen-lockfile
  2. 执行 pnpm lintpnpm test
  3. 注入目标环境变量并执行 pnpm build
  4. 启动 .output/server/index.mjs
  5. 验证首页、语言切换、登录、商品、购物车、下单和静态资源。
  6. 检查 SSR 首屏、API 地址、Cookie、跨域和日志。