最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue路由history模式解決404問題的幾種方法

 更新時(shí)間:2018年09月29日 14:35:39   作者:古蘭精  
這篇文章主要介紹了Vue路由history模式解決404問題的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

問題背景:

vue-router 默認(rèn)是hash模式,使用url的hash來模擬一個(gè)完整的url,當(dāng)url改變的時(shí)候,頁面不會(huì)重新加載。但是如果我們不想hash這種以#號(hào)結(jié)尾的路徑時(shí)候的話,我們可以使用路由的history的模式。比如如下網(wǎng)址:使用hash模式的話,那么訪問變成 http://localhost:8080/bank/page/count/#/ 這樣的訪問,如果路由使用 history的話,那么訪問的路徑變成 如下:http://localhost:8080/bank/page/count 這樣的了;

不過history的這種模式需要后臺(tái)配置支持。比如:當(dāng)我們進(jìn)行項(xiàng)目的主頁的時(shí)候,一切正常,可以訪問,但是當(dāng)我們刷新頁面或者直接訪問路徑的時(shí)候就會(huì)返回404,那是因?yàn)樵趆istory模式下,只是動(dòng)態(tài)的通過js操作window.history來改變?yōu)g覽器地址欄里的路徑,并沒有發(fā)起http請求,但是當(dāng)我直接在瀏覽器里輸入這個(gè)地址的時(shí)候,就一定要對(duì)服務(wù)器發(fā)起http請求,但是這個(gè)目標(biāo)在服務(wù)器上又不存在,所以會(huì)返回404

怎么解決呢?我們現(xiàn)在可以把所有請求都轉(zhuǎn)發(fā)到 http://localhost:8080/bank/page/index.html上就可以了。

解決方案:

對(duì)于VUE的router[mode: history]模式在開發(fā)的時(shí)候,一般都不出問題。是因?yàn)殚_發(fā)時(shí)用的服務(wù)器為node,Dev環(huán)境中自然已配置好了。

但對(duì)于放到nginx下運(yùn)行的時(shí)候,自然還會(huì)有其他注意的地方??偨Y(jié)如下:

在nginx里配置了以下配置后, 可能首頁沒有問題,但鏈接其他會(huì)出現(xiàn)(404)

    location / {
      root  D:\Test\exprice\dist;
      index index.html index.htm;
      try_files $uri $uri/ /index.html;
      add_header 'Access-Control-Allow-Origin' '*';
      add_header 'Access-Control-Allow-Credentials' 'true';
      add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
      add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
    }
    
    location ^~/api/ {
      proxy_pass  http://39.105.109.245:8080/;
    }

為了解決404,需要通過以下兩種方式:

1、官網(wǎng)推薦

location / {
  root  D:\Test\exprice\dist;
  index index.html index.htm;
  try_files $uri $uri/ /index.html;

2、匹配errpr_page

location /{
  root  /data/nginx/html;
  index index.html index.htm;
  error_page 404 /index.html;
}

3、 (vue.js官方教程里提到的https://router.vuejs.org/zh-cn/essentials/history-mode.html

 server {
    listen    8888;#默認(rèn)端口是80,如果端口沒被占用可以不用修改
    server_name localhost;
    root    E:/vue/my_project/dist;#vue項(xiàng)目的打包后的dist
    location / {
      try_files $uri $uri/ @router;#需要指向下面的@router否則會(huì)出現(xiàn)vue的路由在nginx中刷新出現(xiàn)404
      index index.html index.htm;
    }
    #對(duì)應(yīng)上面的@router,主要原因是路由的路徑資源并不是一個(gè)真實(shí)的路徑,所以無法找到具體的文件
    #因此需要rewrite到index.html中,然后交給路由在處理請求資源
    location @router {
      rewrite ^.*$ /index.html last;
    }
    #.......其他部分省略
 }

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Vue.js Mixins 混入使用

    詳解Vue.js Mixins 混入使用

    本篇文章主要介紹了Vue.js Mixins 混入使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • vue中如何引入html靜態(tài)頁面

    vue中如何引入html靜態(tài)頁面

    這篇文章主要介紹了vue中如何引入html靜態(tài)頁面,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Vue搭建后臺(tái)系統(tǒng)需要注意的問題

    Vue搭建后臺(tái)系統(tǒng)需要注意的問題

    這篇文章主要介紹了Vue搭建后臺(tái)系統(tǒng)需要做的幾點(diǎn),文中給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 淺談vue2的$refs在vue3組合式API中的替代方法

    淺談vue2的$refs在vue3組合式API中的替代方法

    這篇文章主要介紹了淺談vue2的$refs在vue3組合式API中的替代方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問題

    解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問題

    今天小編就為大家分享一篇解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 基于Vue實(shí)現(xiàn)卡片無限滾動(dòng)動(dòng)畫

    基于Vue實(shí)現(xiàn)卡片無限滾動(dòng)動(dòng)畫

    這篇文章主要為大家詳細(xì)介紹了如何利用Vue制作出卡片無限滾動(dòng)動(dòng)畫,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定幫助,需要的可以參考一下
    2022-05-05
  • Vue各種loader的基本配置與使用示例教程

    Vue各種loader的基本配置與使用示例教程

    這篇文章主要介紹了Vue?各種loader的基本配置與使用,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Vue2項(xiàng)目升級(jí)到Vue3的詳細(xì)教程

    Vue2項(xiàng)目升級(jí)到Vue3的詳細(xì)教程

    看到好多開源項(xiàng)目都升級(jí)了vue3,下面這篇文章主要給大家介紹了關(guān)于Vue2項(xiàng)目升級(jí)到Vue3的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • vue視圖響應(yīng)式更新詳細(xì)介紹

    vue視圖響應(yīng)式更新詳細(xì)介紹

    這篇文章主要介紹了Vue響應(yīng)式原理,響應(yīng)式就是當(dāng)對(duì)象本身(對(duì)象的增刪值)或者對(duì)象屬性(重新賦值)發(fā)生了改變的時(shí)候,就會(huì)運(yùn)行一些函數(shù),最常見的示render函數(shù)
    2022-09-09
  • Vue項(xiàng)目如何部署到SpringBoot工程下

    Vue項(xiàng)目如何部署到SpringBoot工程下

    這篇文章主要介紹了Vue項(xiàng)目如何部署到SpringBoot工程下問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評(píng)論

根河市| 西宁市| 府谷县| 凯里市| 新昌县| 通化市| 竹北市| 襄汾县| 启东市| 沿河| 布尔津县| 晋中市| 柳江县| 政和县| 大同市| 南投县| 利津县| 卓尼县| 津市市| 五峰| 靖远县| 平度市| 平乐县| 文山县| 定远县| 花莲市| 修文县| 葵青区| 剑河县| 如东县| 高平市| 张家港市| 贵州省| 广东省| 安龙县| 乌鲁木齐县| 双峰县| 搜索| 霍城县| 庆阳市| 新丰县|