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

vue項目上線路徑跳轉(zhuǎn)無效(404問題)的解決

 更新時間:2025年10月25日 10:50:14   作者:Alice_sy314  
文章主要介紹了兩種解決Vue?Router在Nginx部署后路由無法跳轉(zhuǎn)問題的方法:法一是在Vue?Router中將路由模式改為hash模式,利用URL的hash部分來模擬完整URL,這樣不會向后端發(fā)送請求;法二是在Nginx中配置路由,將所有請求重定向到index.html,以支持history模式的Vue?Router

在近期做的一個小項目中,本地路由跳轉(zhuǎn)沒有任何問題,使用nginx部署上線后出現(xiàn)很多路由無法跳轉(zhuǎn)的問題。

經(jīng)過一番研究,發(fā)現(xiàn)可以通過以下兩種方式解決。

一、將路由改為hash模式

vue-router 默認 hash 模式 —— 使用 URL 的 hash 來模擬一個完整的 URL,于是當(dāng) URL 改變時,頁面不會向后端發(fā)出請求。

為什么hash模式下沒有問題

router hash 模式我們都知道是用符號#表示的,如 website.com/#/login, hash 的值為 #/login

它的特點在于:hash 雖然出現(xiàn)在 URL 中,但不會被包括在 HTTP 請求中,對服務(wù)端完全沒有影響,因此改變 hash 不會重新向服務(wù)端發(fā)送請求。而改變hash,在hash模式中會被hashChange方法所捕獲,在vue中會觸發(fā)頁面的修改。

hash 模式下,僅 hash 符號之前的內(nèi)容會被包含在請求中,如 website.com/#/login 只有 website.com 會被包含在請求中 ,因此對于服務(wù)端來說,即使沒有配置location,也不會返回404錯誤

具體操作:找到router文件夾下的index.js文件,將mode改為hash

二、history模式后端配置nginx

如果覺得hash模式的路由模式顯示在地址欄有 “#” 不好看,想使用history模式,就需要配置nginx。

為什么history模式下有問題

Vue是屬于單頁應(yīng)用(SPA)

而SPA是一種網(wǎng)絡(luò)應(yīng)用程序,所有與用戶交互都是通過動態(tài)重寫當(dāng)前頁面來實現(xiàn)頁面變化的,前面我們也看到了,不管我們應(yīng)用有多少頁面,構(gòu)建物都只會產(chǎn)出一個index.html

現(xiàn)在,我們回頭來看一下我們的nginx配置:

server {
  listen  80;
  server_name  www.xxx.com;

  location / {
    index  /data/dist/index.html;
  }
}

可以根據(jù) nginx 配置得出,當(dāng)我們在地址欄輸入 www.xxx.com 時,

這時會打開我們 dist 目錄下的 index.html 文件,然后我們在跳轉(zhuǎn)路由進入到 www.xxx.com/login,

關(guān)鍵在這里,當(dāng)我們在 www.xxx.com/login 頁執(zhí)行刷新操作,nginx location 是沒有相關(guān)/login配置的,所以就會出現(xiàn) 404 的情況。

因此需要重新配置nginx,將任意頁面都重定向到 index.html

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue如何實現(xiàn)u-form多個form表單同時校驗

    Vue如何實現(xiàn)u-form多個form表單同時校驗

    在 Vue 項目中使用 UView UI 的 u-form 組件時,多個表單同時校驗的需求非常常見,本文主要介紹了如何使用 u-form 組件實現(xiàn)多個表單同時校驗,需要的可以參考一下
    2025-01-01
  • 詳解vue3結(jié)合ts項目中使用mockjs

    詳解vue3結(jié)合ts項目中使用mockjs

    這篇文章主要為大家介紹了vue3結(jié)合ts項目中使用mockjs示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • 詳解vue項目打包步驟

    詳解vue項目打包步驟

    這篇文章主要介紹了vue項目打包步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • vue實現(xiàn)下拉加載其實沒那么復(fù)雜

    vue實現(xiàn)下拉加載其實沒那么復(fù)雜

    這篇文章主要給大家介紹了關(guān)于vue實現(xiàn)下拉加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 解決vue修改數(shù)據(jù)頁面不重新渲染問題

    解決vue修改數(shù)據(jù)頁面不重新渲染問題

    這篇文章詳細介紹了vue渲染機制和如何解決數(shù)據(jù)修改頁面不刷新問題的多種方法,想了解更多的小伙伴可以借鑒閱讀
    2023-03-03
  • 關(guān)于Vue3路由push跳轉(zhuǎn)問題(解決Vue2this.$router.push失效)

    關(guān)于Vue3路由push跳轉(zhuǎn)問題(解決Vue2this.$router.push失效)

    這篇文章主要介紹了Vue3路由push跳轉(zhuǎn)問題(解決Vue2this.$router.push失效),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 詳解lottie動畫在vue中的應(yīng)用

    詳解lottie動畫在vue中的應(yīng)用

    Lottie 是一個適用于 Android、iOS、Web 和 Windows 的庫,它使用 Bodymovin 解析導(dǎo)出為 JSON 的 Adobe After Effects 動畫,下面我們就來看看它在vue中的是如何應(yīng)用的吧
    2023-12-12
  • Vue中使用Element UI的Table組件實現(xiàn)嵌套表格功能

    Vue中使用Element UI的Table組件實現(xiàn)嵌套表格功能

    這篇文章主要介紹了Vue中使用Element UI的Table組件實現(xiàn)嵌套表格功能,演示如何在Vue中使用Element UI的Table組件實現(xiàn)嵌套表格,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Vue對象賦值視圖不更新問題及解決方法

    Vue對象賦值視圖不更新問題及解決方法

    這篇文章主要介紹了Vue對象賦值視圖不更新問題及解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • Vue 集成 PDF.js 實現(xiàn) PDF 預(yù)覽和添加水印的步驟

    Vue 集成 PDF.js 實現(xiàn) PDF 預(yù)覽和添加水印的步驟

    這篇文章主要介紹了如何在 Vue 中集成 Mozilla/PDF.js ,實現(xiàn)自定義的 PDF 預(yù)覽器,以及給被預(yù)覽的 PDF 添加水印
    2021-01-01

最新評論

九江市| 沅江市| 涿州市| 会东县| 岐山县| 宝山区| 衢州市| 修水县| 自贡市| 织金县| 资阳市| 巨野县| 嘉义市| 邓州市| 嘉峪关市| 灵武市| 社旗县| 文化| 郁南县| 泰宁县| 介休市| 金门县| 金华市| 武定县| 武安市| 新宁县| 延川县| 淮北市| 乐平市| 修武县| 无棣县| 南皮县| 陵水| 朔州市| 濮阳市| 阳城县| 永仁县| 天长市| 松江区| 永善县| 斗六市|