vue項目,訪問路徑#號的問題

       剛入手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: [...]
})

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章