大家好,我有一个vue CLI应用程序。
在开发模式下,我的网址默认为:
http://localhost:8080/#/
如果我尝试执行http://localhost:8080/signin
,它将重定向回http://localhost:8080/signin#/
,但显示我的'/'
视图。
我的路由器文件如下:
import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home'
import Signin from '@/components/Signin'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/signin',
name: 'signin',
component: Signin
}
]
})
我不知道为什么会这样!这里的任何建议或协助都将非常棒!
答案 0 :(得分:1)
vue-router
的默认设置为“哈希”模式。它将在您的URL上添加一个哈希值,以防止浏览器在用户刷新窗口时实际尝试从该URL加载某些内容(因为它将哈希符号后的所有内容都视为哈希值)。
您可以在vue-router
配置中将模式更改为“历史”。
// router.js
export const router = new Router({
mode: 'history',
routes: [.....]
}
这将立即可用,并删除URL中的哈希-但是,如果用户重新加载页面(刷新),浏览器将尝试查找整个URL。除非您的服务器配置为处理所有“特立独行”路线,否则它将返回404错误。您可以在official vou-router config
中了解更多信息