這篇文章主要介紹“vue的兩種路由模式源碼分析”的相關(guān)知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“vue的兩種路由模式源碼分析”文章能幫助大家解決問題。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:空間域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、科爾沁右翼前網(wǎng)站維護(hù)、網(wǎng)站推廣。
vue-router
默認(rèn)hash
模式,使用url
的哈希(hash
)來模擬一個完整的URL
,當(dāng)URL
改變時,頁面不會重新加載。
如下所示
http://localhost/#home
特點: #
號后面的參數(shù)不會傳送給服務(wù)器,兼容性好,不會作為路徑的一部分發(fā)送給服務(wù)器,也就是它不會包括在HTTP
請求體中,對后端完全沒有影響,只是我們前端同學(xué)自己玩
頁面刷新時,會停留在當(dāng)前頁面,不會重新加載
如果覺得hash
路徑很丑,不簡潔,我們可以用路由的history
模式,這種模式充分利用history.pushState API
或replaceState
,來完成,url
跳轉(zhuǎn)而無需重新加載頁面
history
模式:在實例化配置對象中添加mode
模式,值為history
就可以了的
經(jīng)過改造后,hash
模式就會變成history
模式
const router = new VueRouter({ mode: 'history', routes: [...] })
這兩種方式的使用都是沒啥問題的,如果你在意瀏覽器url
的顏值,#
符號摻雜在url
里看起來確實有些不優(yōu)雅
如果你想url
更好看,那么就使用history
模式
但是:在hash
模式下,使用hash
符號之前的內(nèi)容會被包含在請求體中,#
號后面的不會發(fā)送給服務(wù)器
而history
模式下,前端的URL
必須和實際向后端發(fā)起請求的URL
保持一致
如:https://itclan.cn/fontend/id
,如果后端缺少沒有對/fontend/id
的路由處理,那么它將返回404
錯誤
如果你想要支持history
模式,那么需要后端同學(xué)支持,想要徹底解決404的問題,需要與后端同學(xué)協(xié)商,因為需要后端與前端路由做匹配
在服務(wù)端增加一個覆蓋所有情況的時候的候選資源,如果url
匹配不到任何靜態(tài)資源,應(yīng)該返回一個首頁頁面
如果出現(xiàn)404,容易讓用戶覺得這是一個Bug
解決這個問題:如果你用的是Node
做后端服務(wù),那么在Node
后臺中可以加入一個中間件比如:connect-history-api-fallback
即可解決這種404問題
如果是java
或php
,找后端同學(xué),讓后端路由與前端路由做匹配,或是用Ngnix
做中間代理
如下這段簡易的Node
服務(wù)代碼,可以命名為server.js
,同時安裝express
以及connect-history-api-fallback
中間件
啟動后端服務(wù)執(zhí)行命令node server.js
const express = require('express'); const history = require('connect-history-api-fallback') const app = express() app.use(history()) app.use(express.static(__dirname+'/static')); app.listen(5005,(err)=> { if(!err)consle.log('服務(wù)器啟動成功了') })
把前端打包生成的dist
文件內(nèi)的代碼,放到static
中,通過這一操作,即可解決刷新頁面,404
的問題
我們的前端使用的vue-router
中的兩種模式,就是單頁面應(yīng)用,整個應(yīng)用只有一個router
路由器,是可以通過$router
屬性獲取到
也就是說,整個應(yīng)用只有一個完整的頁面,同時,點擊頁面中的導(dǎo)航鏈接,不會刷新頁面,只會是頁面的局部更新
而我們頁面中的數(shù)據(jù),往往需要通過ajax
請求來獲取
現(xiàn)在開發(fā)的新項目,都是前后端分離,基本上都是單頁面應(yīng)用
關(guān)于“vue的兩種路由模式源碼分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。
分享題目:vue的兩種路由模式源碼分析
文章鏈接:http://www.rwnh.cn/article38/jjedsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站建設(shè)、、網(wǎng)站營銷、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)