• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    詳解如何去除vue項目中的#——History模式

    來源:懂視網 責編:小采 時間:2020-11-27 22:28:02
    文檔

    詳解如何去除vue項目中的#——History模式

    詳解如何去除vue項目中的#——History模式:使用vue-cli搭建的環境,在配置好路由之后,可以看到下面的情況: 但是不難發現#的出現真的很丑陋,并且也不知道這是什么作用? 所以就去Stack Overflow上搜索了,果然還有~ 看來Stack Overflow是真的強大,你在項目中遇到的問題實際上在so上都已經被問過
    推薦度:
    導讀詳解如何去除vue項目中的#——History模式:使用vue-cli搭建的環境,在配置好路由之后,可以看到下面的情況: 但是不難發現#的出現真的很丑陋,并且也不知道這是什么作用? 所以就去Stack Overflow上搜索了,果然還有~ 看來Stack Overflow是真的強大,你在項目中遇到的問題實際上在so上都已經被問過

    使用vue-cli搭建的環境,在配置好路由之后,可以看到下面的情況:

      

    但是不難發現#的出現真的很丑陋,并且也不知道這是什么作用?

    所以就去Stack Overflow上搜索了,果然還有~  看來Stack Overflow是真的強大,你在項目中遇到的問題實際上在so上都已經被問過并且解決了,這不:      

    這是最高票的回答,即在vue2中將mode模式設置為history,試過之后確實奏效!

    但是知道這樣可以解決問題,卻不知道為什么,這是不行的, 隨著連接,我們看到了文檔。

    所以這篇文章也就是引申到文檔的理解了,大家可以直接去看文檔。 

    對于vue開發的單頁面應用,我們在切換不同的頁面的時候,可以發現html永遠只有一個,這也真是稱之為單頁面的原因,而vue-router 默認 hash 模式 —— 使用 URL 的 hash 來模擬一個完整的 URL,于是當 URL 改變時,頁面不會重新加載。因為對于正常的頁面來說,更換url一定是會導致頁面的更換的, 而只有更換url中的查詢字符串和hash值得時候才不會重新加載頁面。 這里也就是這個道理。

    但是#這種形式真的很丑!  所以,如果不想要,可以使用路由的history模式!!! 這種模式充分利用了history.pushState API來完成URL的跳轉而不需要重新加載頁面。

    const router = new VueRouter({
     mode: 'history',
     routes: [...]
    })

    使用這種模式之后,就沒有#了,而是可以像使用正常的url進行訪問了。   

    不過這種模式要玩好,還需要后臺配置支持。因為我們的應用是個單頁客戶端應用,如果后臺沒有正確的配置,當用戶在瀏覽器直接訪問 http://oursite.com/user/id 就會返回 404,這就不好看了。

    所以呢,你要在服務端增加一個覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態資源,則應該返回同一個 index.html 頁面,這個頁面就是你 app 依賴的頁面。

    注意:目前我所做的項目的后端沒有支持此種方式,所以還是先使用#的方式進行開發。

    警告

    給個警告,因為這么做以后,你的服務器就不再返回 404 錯誤頁面,因為對于所有路徑都會返回 index.html 文件。為了避免這種情況,你應該在 Vue 應用里面覆蓋所有的路由情況,然后在給出一個 404 頁面。

    const router = new VueRouter({
     mode: 'history',
     routes: [
     { path: '*', component: NotFoundComponent }
     ]
    })

    或者,如果你是用 Node.js 作后臺,可以使用服務端的路由來匹配 URL,當沒有匹配到路由的時候返回 404,從而實現 fallback。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    詳解如何去除vue項目中的#——History模式

    詳解如何去除vue項目中的#——History模式:使用vue-cli搭建的環境,在配置好路由之后,可以看到下面的情況: 但是不難發現#的出現真的很丑陋,并且也不知道這是什么作用? 所以就去Stack Overflow上搜索了,果然還有~ 看來Stack Overflow是真的強大,你在項目中遇到的問題實際上在so上都已經被問過
    推薦度:
    標簽: 模式 VUE hi
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 精品国精品国产| 久久这里只有精品久久| 国产精品极品| 亚洲精品国产精品乱码不99| 国产精品毛片一区二区三区| jizz国产精品| 久久ww精品w免费人成| 久久精品成人| 亚洲精品乱码久久久久久| 在线亚洲精品福利网址导航| 亚洲午夜久久久精品影院| 日韩精品无码一区二区中文字幕| 西瓜精品国产自在现线| 亚洲国产精品无码久久久蜜芽 | 99久久99久久精品国产| 精品人妻少妇一区二区三区在线 | 国产精品一久久香蕉国产线看观看| 亚洲精品免费观看| 欧美日韩国产精品自在自线| 97久久精品国产精品青草| 久久996热精品xxxx| 真实国产乱子伦精品一区二区三区 | 久久国产精品偷99| 亚洲国产精品视频| 华人亚洲欧美精品国产| 老司机午夜网站国内精品久久久久久久久| 久久亚洲国产午夜精品理论片| 亚洲精品和日本精品| 国内精品51视频在线观看| 亚洲国产婷婷综合在线精品| 精品国内片67194| 亚洲精品中文字幕无码蜜桃| 国语自产拍精品香蕉在线播放| 九九精品免视看国产成人| 亚洲精品和日本精品| 国产精品哟女在线观看| 国产精品女人呻吟在线观看| 久久久久人妻一区精品性色av| 亚洲精品乱码久久久久久按摩 | 91精品国产91久久久久久青草| 97久久综合精品久久久综合|