Fala ai Rodofo, fiz um exemplo aqui para você, vamos as mudanças e passos:
Criei um template para rotas não encontradas, arquivo template-not-found
dentro da pasta assets/paginas
, com o seguinte conteúdo:
const notFound = () => {
const notFound = `
<h1 class="titulo"> Não encontrada</h1>
`
return notFound
}
export default notFound
Seguindo o padrão atual.
A segunda mudança foi no router.js
, adicionei uma rota para pegar as não encontradas:
import notFound from './assets/paginas/template-not-found' // importei o novo template para rotas não encontrada
const rotas = {
'/': home,
'/home': home,
'/sobreMim': sobreMim,
'/portfolio': portfolio,
'/habilidades': habilidades,
'/contato': contato,
'**': notFound, // adicionei essa rota
}
Dai na função navegacao
eu fiz uma verificação:
const iniciarRota = rotas[window.location.pathname] || rotas['**']
Ou seja, caso não tenha encontrado uma rota para o pathname
atual, utiliza a **
.
E por ultimo no HTML para testar adicione uma navegação inválida:
<a onclick="navegacao('/uma-rota-desconhecida'); return false;" class="nav__item">Desconhecida</a>
Acho que é isso, com essas mudanças você deve ter o controle de rotas não encontradas.
Espero ter ajudado.