router官网的说明如下:
********************************************我是官网说明分隔符--开始***************************************************************
类型:
string
默认值:
"hash" (浏览器环境) | "abstract" (Node.js 环境)
可选值:
"hash" | "history" | "abstract"
配置路由模式:
hash
: 使用 URL hash 值来作路由。支持所有浏览器,包括不支持 HTML5 History Api 的浏览器。history
: 依赖 HTML5 History API 和服务器配置。查看 HTML5 History 模式.abstract
: 支持所有 JavaScript 运行环境,如 Node.js 服务器端。如果发现没有浏览器的 API,路由会自动强制进入这个模式。
********************************************我是官网说明分隔符--开始***************************************************************
因为router默认使用“hash”,所以设置与否浏览器的URL显示像这样(http://localhost:8000/#/firsts/first ),
mode设置为"history"时,浏览器URL显示为(http://localhost:8000/firsts/first),设置“history”后链接中没有#
好吧!我也说不出使用"history"有特别的好处,就是感觉此时的URL像正常的URL
具体配置:
const router = new Router({
mode: 'history', // 切换路径模式,变成history模式,不然路径为/#/home
scrollBehavior: () => ({ // 滚动条滚动的行为,不加这个默认就会记忆原来滚动条的位置
y: 0
}),
routes: [
{path: '/', name: 'login', component: login, title: '登录页'}
]
})