# 提供生产构建

静态与 SPA 模式、路由、缓存、CSP 及部署站点检查。

需要 WU CLI `1.2.0`，应用 API 需要 WU Framework `4.0.0`。请检查 `wu --version` 和项目依赖。

```sh
wu build
wu serve 4100 --mode static
```

`wu serve [port] [--mode spa|static]` 在 `127.0.0.1` 提供 `dist/`。默认端口为 `3000`，默认模式为 `spa`。无效或占用的端口以及缺少 `dist/index.html` 都会返回非零状态。使用 `Ctrl+C` 停止服务器。

文档和多页面站点使用 `static`：`/guide/` 提供 `dist/guide/index.html`，`/guide?lang=en` 重定向时保留查询参数，未知路径返回 `404`。宿主管理客户端路由时使用 `spa`，未知导航返回根索引。两种模式下不存在的资源均返回 `404`，不会返回宿主 HTML。

HTML、清单与稳定名称使用重新验证和 `no-transform`。仅文件名包含经验证的 12–64 字符 SHA-256 前缀时，才使用一年不可变缓存。GET 与 HEAD 共享响应头，HEAD 无响应体。服务器不进行 ETag/304 协商。即使直接导航返回 404，目录清单仍可被 fetch 读取，该过滤不会使清单保密。

生成的 CSP 根据每次响应的 HTML 计算哈希。自定义文本策略仍由宿主控制。TLS、压缩与公网访问由托管服务或反向代理负责。按服务商要求应用 `_headers`、`vercel.json` 或 `wu-security.conf`，并用 [远程 doctor](/zh-cn/docs/cli/doctor/) 检查结果。