# Servir um build de produção

Modos estático e SPA, rotas, cache, CSP e verificação do site publicado.

Requer WU CLI `1.2.0` e WU Framework `4.0.0` para as APIs das aplicações. Confira `wu --version` e as dependências do projeto.

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

`wu serve [port] [--mode spa|static]` serve `dist/` em `127.0.0.1`. A porta padrão é `3000` e o modo padrão é `spa`. Porta inválida, ocupada ou ausência de `dist/index.html` produzem saída diferente de zero. Pare o servidor com `Ctrl+C`.

Use `static` para documentação e sites multipágina: `/guide/` entrega `dist/guide/index.html`, `/guide?lang=en` redireciona preservando a query e rotas desconhecidas retornam `404`. Use `spa` quando o shell controlar rotas clientes: navegação desconhecida recebe o índice raiz. Assets inexistentes retornam `404` nos dois modos, nunca o HTML do shell.

HTML, manifests e nomes estáveis usam revalidação e `no-transform`. Só um nome com prefixo SHA-256 verificado de 12–64 caracteres recebe cache immutable de um ano. GET e HEAD compartilham cabeçalhos; HEAD não envia corpo. O servidor não negocia ETag/304. Catálogos continuam disponíveis por fetch mesmo quando navegação direta retorna 404: esse filtro não torna os manifests secretos.

A CSP gerada calcula hashes do HTML de cada resposta. Uma política literal continua sob controle do host. TLS, compressão e acesso público cabem ao hosting ou reverse proxy. Aplique `_headers`, `vercel.json` ou `wu-security.conf` conforme o provedor e verifique com [doctor remoto](/pt/docs/cli/doctor/).