Como remover hashbang #!
do url?
Encontrei uma opção para desativar o hashbang na documentação do roteador vue ( http://vuejs.github.io/vue-router/en/options.html ), mas essa opção remove #!
e apenas coloca#
Existe alguma maneira de ter um URL limpo?
Exemplo:
NÃO: #!/home
MAS: /home
vue.js
vue-router
DokiCRO
fonte
fonte
const router = new VueRouter({ history: true })
{history: true}
trabalhos para a primeira página, mas o restante das rotas falhou.Para vue.js 2, use o seguinte:
fonte
Hash é uma configuração padrão do modo vue-router, é definida porque, com hash, o aplicativo não precisa conectar o servidor para servir a URL. Para alterá-lo, você deve configurar seu servidor e definir o modo para o modo HTML5 History API.
Para a configuração do servidor, este é o link para ajudá-lo a configurar os servidores Apache, Nginx e Node.js:
https://router.vuejs.org/guide/essentials/history-mode.html
Depois, verifique se o modo do roteador vue está definido da seguinte maneira:
vue-router versão 2.x
Para deixar claro, esses são todos os modos de roteador vue que você pode escolher: "hash" | "história" | "resumo".
fonte
Para o Vuejs 2.5 e o vue-router 3.0, nada acima funcionou para mim, no entanto, depois de brincar um pouco, o seguinte parece funcionar:
observe que você também precisará adicionar o caminho abrangente.
fonte
e o servidor está configurado corretamente No apache, você deve escrever a URL reescrita
fonte
Citando os documentos.
fonte
Os
vue-router
usoshash-mode
, em palavras simples, é algo que você normalmente esperaria de uma marca de achor como esta.Para fazer o hash desaparecer
Warning
: Se você não possui um servidor configurado corretamente ou está usando um usuário do SPA do lado do cliente, poderá obter um404 Error
se tentar acessarhttps://website.com/posts/3
diretamente do navegador. Documentos do roteador Vuefonte
O modo padrão do vue-router é o modo hash - ele usa o hash da URL para simular uma URL completa, para que a página não seja recarregada quando a URL for alterada. Para se livrar do hash, podemos usar o modo de histórico do roteador, que aproveita a
history.pushState
API para obter a navegação por URL sem recarregar a página:Referência
fonte
E se você estiver usando o AWS amplify, consulte este artigo sobre como configurar o servidor: modo de histórico do roteador Vue e AWS Amplify
fonte