2 回答

TA貢獻1840條經(jīng)驗 獲得超5個贊
為了擺脫散列,我們可以使用路由器的歷史模式,它利用history.pushStateAPI 實現(xiàn) URL 導(dǎo)航,而無需重新加載頁面:
const router = new VueRouter({
mode: 'history',
routes: [...]
})
避免在使用歷史模式時出錯。您需要適當(dāng)?shù)姆?wù)器配置,
示例服務(wù)器配置
阿帕奇
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
娘娘腔
location / {
try_files $uri $uri/ /index.html;
}
欲了解更多信息。訪問文檔 https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations

TA貢獻1155條經(jīng)驗 獲得超0個贊
正如官方文檔所說,它的默認(rèn)模式vue-router
是哈希模式——它使用 URL 哈希來模擬完整的 URL,這樣當(dāng) URL 更改時頁面不會重新加載。
當(dāng)您使用歷史模式時,如果沒有正確的服務(wù)器配置,如果用戶http://myurl.com/highlights
直接在瀏覽器中訪問,他們將收到 404 錯誤。
因此,您需要做的就是向您的服務(wù)器添加一個簡單的全能回退路由。如果 URL 與任何靜態(tài)資產(chǎn)都不匹配,則它應(yīng)該提供與index.html
您的應(yīng)用所在的頁面相同的頁面。
更多服務(wù)器配置信息可以查看這個-example-server-configurations
添加回答
舉報