42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# /public
|
|
|
|
Esta pasta é servida **estaticamente pelo Vite** na raiz do servidor (`/`).
|
|
|
|
Arquivos aqui **não passam pelo bundler** — são copiados diretamente para o build final e acessíveis via URL direta.
|
|
|
|
---
|
|
|
|
## ⚠️ Não confundir com
|
|
|
|
| Pasta | O que é |
|
|
|---|---|
|
|
| `public/` (esta pasta) | Arquivos estáticos brutos. Acessíveis via `fetch('/arquivo.json')` ou `<img src="/imagem.png">` |
|
|
| `src/views/pages/public/` | Componentes Vue de páginas públicas (sem autenticação). Fazem parte do bundle normalmente. |
|
|
|
|
---
|
|
|
|
## O que colocar aqui
|
|
|
|
- Arquivos JSON de configuração estática (ex: `loading-phrases.json`)
|
|
- Favicons e ícones (`favicon.ico`, `apple-touch-icon.png`)
|
|
- Imagens que não precisam ser processadas pelo Vite
|
|
- Arquivos de verificação de domínio (Google, Meta, etc.)
|
|
|
|
## O que **não** colocar aqui
|
|
|
|
- Componentes `.vue`
|
|
- Arquivos `.js` ou `.ts` que importam outros módulos
|
|
- Qualquer coisa que precise de `@/` ou de `import`
|
|
|
|
---
|
|
|
|
## Exemplo de uso
|
|
|
|
```js
|
|
// Acessando loading-phrases.json de qualquer componente
|
|
const res = await fetch('/loading-phrases.json')
|
|
const json = await res.json()
|
|
```
|
|
|
|
O arquivo em disco é `public/loading-phrases.json`, mas o fetch usa `/loading-phrases.json` — sem o prefixo `public/`.
|