vue-router是vue項目中幾乎都會用到的組件,然而體驗一時爽,其實坑不少。本篇經驗將詳細介紹vue-router的兩種mode效果和開發測試環境下的問題,並給出解決方案。
1.mode默認是hash模式,畫風是這樣的:


2.使用 URL 的 hash 來模擬一個完整的 URL,於是當 URL 改變時,頁面不會重新加載
3.如果不想要很丑的 hash,我們可以用路由的 history 模式,上面的坑就跳過去了,具體是這樣的:

4.這種模式充分利用 history.pushState API 來完成 URL 跳轉而無須重新加載頁面。
5.當你使用 history 模式時,URL 就像正常的 url,例如 http://domain.com/first,也好看!讓我們執行npm run dev看看

6.部署到服務器上也貌似問題不大,然而一刷新,就崩潰了

7.原來這樣的URL,服務器(這里用的是nginx作為web服務器)根本不認識,解決方法就是對nginx設置try_files指令,如果當前的URL找不到就調用rewrites模塊重寫url。到此問題解決,終於可以愉快的和SPA應用玩耍了。

