hash 模式 - daniel-qa/Vue GitHub Wiki
hash 模式
- 優點
簡單性:哈希路由相對容易設置,不需要伺服器進行額外配置。 跨瀏覽器兼容性:哈希路由在所有主流瀏覽器中都支持良好。
- 缺點
URL 不美觀:包含哈希的 URL 通常看起來不夠專業。
SEO 不佳:由於哈希部分不會被伺服器處理,對於搜索引擎優化(SEO)來說,使用哈希路由會有劣勢。
- 例子
如果你使用哈希模式的 Vue Router,路由配置可能會如下所示:
import { createRouter, createWebHashHistory } from 'vue-router';
const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About },
];
const router = createRouter({
history: createWebHashHistory(),
routes,
});
在這種情況下,當你訪問 /about 時,實際的 URL 會是 http://example.com/#/about。
這樣,路由的改變不會導致整個頁面重新加載,增強了用戶體驗。
Vue 預設是使用 hash 模式,但可選擇使用 history 模式。
hash 模式時的 URL 會帶 # 符號,例如 https://example.com/#/about 跳轉時不會發出 HTTP 請求,只會按 # 後的內容來顯示相應的元件。
history 模式不會帶 #,例如 https://example.com/about。
跳轉頁面時會發 HTTP 請求。
背後原理是使用 Web History API 和 建構 Router 來避免重刷頁面。但注意,history 模式需配合後端設定,把找不到的路由全都指向 index.html,才不會出現 404 的問題。