剛入手vue,有好多的疑問,目前遇到的是vue項目啓動之後,輸入http://ip:port,我發現瀏覽器裏面顯示的地址欄竟然是http://ip:port/#/,這個”/#/“不知道是什麼東西,於是百度查了一下。
原因:對於vue開發的單頁面應用,我們在切換不同的頁面的時候,可以發現html永遠只有一個,這也正是稱之爲單頁面的原因。而vue-router默認hash模式--------使用URL的hash來模擬一個完整的URL,於是當URL改變時,頁面不會重新加載。因爲對於正常的頁面來說,更換url一定是會導致頁面更換的,而只有更換url中的查詢字符串和hash值的時候纔不會重新加載頁面。
如果不想要#,可以使用路由的history模式,這種模式充分利用了history.pushState API來完成URL的跳轉而不需要重新加載頁面,使用這種模式之後,就沒有#了,而是可以像使用正常的url進行訪問了。
const router = new VueRouter({
mode: 'history',
routes: [...]
})