1.首先router有兩種模式:hash模式(默認)、history模式(需配置mode: 'history')
hash和history的區別?
hash | history | |
url顯示 | 有# | 無# |
回車刷新 | 可以加載到hash值對應頁面 | 一般就是404掉了 |
支持版本 | 支持低版本和IE瀏覽器 | HTML5新推出的API |
正確回答:hash模式url里面永遠帶着#號,我們在開發中默認使用這個模式。那么在聲明時候要用history模式呢?
如果用戶考慮url的規范那么就需要使用history模式,因為history模式沒有#號,是個正常的url適合推廣宣傳。當然其功能也有區別,比如我們在開發app的時候有分享頁面,那么這個分享出去的頁面就是用vue或者react做的,咋們把這個頁面分享到第三方的app里,有的app里面url是不允許帶有#號的,所以要將#去除那么就要使用history模式,但是使用history模式還有一個問題就是,在訪問二級頁面的時候,做刷新操作,會出現404錯誤,那么就需要和后端人員配合讓他配置一下apache或是nginx的url重定向,重定向到你的首頁路由上就可以了。