Roteamento por hash
O roteador aceita tanto o roteamento padrão pela API History do HTML5, baseado em caminhos, quanto o roteamento por hash (#/path).
O roteamento por hash é perfeito para hospedagens de arquivos estáticos, como GitHub Pages ou implantações estáticas na Netlify, pois dispensa configurações de redirecionamento alternativo no servidor.
setRoutingMode
Configura o modo ativo do roteador. Aceita "history" (padrão) ou "hash".
typescript
function setRoutingMode(mode: 'history' | 'hash'): voidExemplo
javascript
import { setRoutingMode } from '@beforesemicolon/router'
// Enable Hash Routing
setRoutingMode('hash')
// URLs will now format as: domain.com/#/dashboard
// <page-link path="/todos"> renders as: <a href="#/todos">getRoutingMode
Retorna o modo de roteamento atualmente ativo.
typescript
function getRoutingMode(): 'history' | 'hash'Exemplo
javascript
import { getRoutingMode } from '@beforesemicolon/router'
const mode = getRoutingMode() // "history" or "hash"Benefícios do roteamento por hash
- Nenhuma configuração de servidor: servidores padrão retornam erro 404 ao acessar diretamente um caminho como
/aboutapós atualizar a página, a menos que estejam configurados para reescrever paraindex.html. O roteamento por hash acontece totalmente no cliente e não exige regras alternativas no servidor. - Hospedagem estática: é altamente compatível com ambientes estáticos como buckets do AWS S3, GitHub Pages ou Netlify.
- Compatibilidade legada: funciona perfeitamente em mecanismos de navegadores mais antigos.