Vue實(shí)現(xiàn)hash模式網(wǎng)址方式(就是那種帶#的網(wǎng)址、井號url)
Vue實(shí)現(xiàn)hash模式網(wǎng)址
src\js\main.js
... const router = new VueRouter({ ... mode: 'hash', //hash模式網(wǎng)址,帶#井號 // mode: 'history', // 這里存在一個弊端,如果要去掉路由的#號,需要后端配合配置,否則刷新頁面就會報錯404,反正如果不是非得要做支付建議不用這個參數(shù)配置,參考文檔:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90 ... }); ...
hash模式下網(wǎng)址形如
- http://127.0.0.1/#/home
- http://localhost/#/home
Vue路由中hash模式
import Vue from 'vue' import Router from 'vue-router' import { router } from './router/index' Vue.use(Router) export default new Router({ mode: 'history', // mode: 'hash', base: process.env.BASE_URL, scrollBehavior: () => ({ y: 0 }), routes: router })
模式一:mode:‘hash’
hash —— 即地址欄 URL 中的 # 符號
模式二:mode:‘history’
一般場景下,hash 和 history 都可以,除非你更在意顏值,# 符號夾雜在 URL 里看起來不美觀。
使用 history 模式時,URL 就像正常的 url,不過這種模式還需要后臺配置支持。
問題:
開發(fā)環(huán)境下,路由不管選用hash模式還是history模式都不會出問題,但打包后放在服務(wù)器上history模式會出現(xiàn)頁面一片空白的情況,而且沒有資源加載錯誤的報錯信息.。
原因:
1、后臺配置支持是否支持:history,是需要后臺配置支持的。原理是要在服務(wù)端增加一個覆蓋你的路由內(nèi)所有情況的候選資源,如果 URL 匹配不到任何候選資源,則定位到打包好的 index.html 頁面,這個頁面就是你 app 依賴的頁面。
后端配置鏈接:https://router.vuejs.org/zh/guide/essentials/history-mode.html
2、前端配置:
router/index.js
export default new Router({ ? mode: 'history', ? // mode: 'hash', ? base: '/WebTest/Vue/bigscreen/dist', ? routes: router })
mode配置成hostory
如果項(xiàng)目代碼直接放在服務(wù)器的根目錄, 那么是沒有問題的,base不需要配置。如果項(xiàng)目代碼是放在服務(wù)器的子目錄,需要加一個base配置項(xiàng),里面配置項(xiàng)目代碼在服務(wù)器內(nèi)的路徑。
【我的代碼放在/WebTest/Vue/bigscreen】
**vue.config.js**
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3中reactive變量重新賦值無法響應(yīng)的3種處理方法
這篇文章主要給大家介紹了關(guān)于Vue3中reactive變量重新賦值無法響應(yīng)的3種處理方法,在Vue3中可以使用reactive函數(shù)將一個普通對象轉(zhuǎn)換為響應(yīng)式對象,需要的朋友可以參考下2023-08-08vue+element-ui+axios實(shí)現(xiàn)圖片上傳
這篇文章主要為大家詳細(xì)介紹了vue+element-ui+axios實(shí)現(xiàn)圖片上傳,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08解決$store.getters調(diào)用不執(zhí)行的問題
今天小編就為大家分享一篇解決$store.getters調(diào)用不執(zhí)行的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11