我有一个vuejs应用程序,我对后端进行rest api调用。我已经定义了路由器并导航了不同的组件。现在,当我浏览时,我会在浏览器URL中看到https://domain-name.com/#/abc路径路径。我想阻止它,以便它总是显示https://domain-name.com/,无论我遍历什么路径。有没有办法在Vuejs或任何其他解决方案中做到这一点。感谢您的帮助!
谢谢, 拉胡
答案 0 :(得分:1)
您正在使用Vue Router,它的想法是改变路线...
由于您已在路由器下的网址中获得了哈希,因此您需要添加mode
属性。
const router = new VueRouter({
mode: 'history',
routes: [...]
})
这将删除/#/ someRoute,它将变为/ someRoute
添加历史记录模式后,您需要分别设置apache / nginx服务器,以反映用户是否输入domain.com/someRoute,他们将不会收到我们可以修复的任何内容here
如果您希望链接永久保留为www.domain.com而不是使用vue-router,那么您必须在需要时更改组件,基本上在页面上有一百万个和一个if语句
答案 1 :(得分:0)
您可以使用alias
/ a的别名,因为/ b表示当用户访问/ b时,URL仍保留 / b,但将被匹配,就好像用户正在访问/ a。
以上内容在路由配置中可以表示为:
const router = new VueRouter({
routes: [
{ path: '/a', component: A, alias: '/b' }
]
})
所以,就您而言
const router = new VueRouter({
routes: [
// the URL will remains https://domain-name.com/
{ path: '/abc', component: ABC, alias: '/' }
{ path: '/def', component: DEF, alias: '/' }
]
})