国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用nginx方向代理部署Vue項(xiàng)目刷新頁(yè)面404的問題解決

這篇具有很好參考價(jià)值的文章主要介紹了使用nginx方向代理部署Vue項(xiàng)目刷新頁(yè)面404的問題解決。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

問題假設(shè)

  • 部署出現(xiàn)的問題為:由于項(xiàng)目中使用的vue router 項(xiàng)目直接使用node環(huán)境部署項(xiàng)目,在同一個(gè)路由如: 192.168.1.30:/home刷新瀏覽器正常 nginx部署刷新不出現(xiàn)404 /nginx not found 如何解決?
  • 以下是我的想法:似乎是nginx代理使其直接訪問文件,而沒有使項(xiàng)目的路由生效從而正確加載資源

原理探究

這種Nginx配置背后的原理涉及到前端路由和服務(wù)器的工作方式。文章來源地址http://www.zghlxwxcb.cn/news/detail-722423.html

  1. 前端路由:
    • 在前端開發(fā)中,SPA(Single Page Application)應(yīng)用程序使用前端路由來實(shí)現(xiàn)頁(yè)面切換和導(dǎo)航。
    • 前端路由是在瀏覽器中處理的,而不是通過傳統(tǒng)的頁(yè)面請(qǐng)求和刷新。
    • SPA應(yīng)用通常使用JavaScript庫(kù)或框架(如Vue Router、React Router等)來管理前端路由。
    • 這些路由庫(kù)允許應(yīng)用程序的不同路徑映射到不同的組件或頁(yè)面。
  2. 服務(wù)器處理:
    • 當(dāng)瀏覽器發(fā)出請(qǐng)求時(shí),Web服務(wù)器(如Nginx)會(huì)根據(jù)請(qǐng)求的路徑來定位并返回相應(yīng)的資源或頁(yè)面。
    • 在傳統(tǒng)的Web應(yīng)用中,服務(wù)器會(huì)查找匹配的HTML文件并將其發(fā)送給瀏覽器。然而,在SPA中,服務(wù)器通常只返回應(yīng)用的入口點(diǎn)(例如,index.html),而所有的路由和頁(yè)面切換是在瀏覽器中通過前端路由進(jìn)行管理的。
  3. 問題的根本:
    • 當(dāng)使用前端路由時(shí),如果你直接訪問特定路徑,例如 http://example.com/home,瀏覽器中的前端路由會(huì)正確解析這個(gè)路徑并顯示對(duì)應(yīng)的頁(yè)面,因?yàn)镴avaScript路由庫(kù)知道如何處理它。然而,如果你刷新頁(yè)面,或者直接在地址欄中輸入U(xiǎn)RL,服務(wù)器會(huì)嘗試查找與該路徑匹配的實(shí)際文件,但在SPA中,通常沒有與每個(gè)路由路徑相對(duì)應(yīng)的獨(dú)立HTML文件,因此服務(wù)器會(huì)返回404錯(cuò)誤。
  4. 解決方案:
    • 為了解決這個(gè)問題,需要配置Nginx,以便對(duì)所有請(qǐng)求都返回應(yīng)用的入口點(diǎn)(通常是 index.html)。這樣,不管瀏覽器中的路徑是什么,服務(wù)器都會(huì)返回相同的index.html。一旦瀏覽器加載了這個(gè)HTML文件,前端路由庫(kù)會(huì)根據(jù)URL來呈現(xiàn)正確的頁(yè)面內(nèi)容。
  • 所以,Nginx配置的關(guān)鍵點(diǎn)是將所有請(qǐng)求都傳遞給Vue應(yīng)用的 index.html,這個(gè)HTML文件包含了前端路由的邏輯,它會(huì)根據(jù)URL來呈現(xiàn)不同的內(nèi)容,從而確保前端路由能夠正確處理所有的路由請(qǐng)求,無論是直接訪問還是刷新頁(yè)面。
  • 它解決了前端路由在SPA中的刷新問題,讓SPA應(yīng)用可以在不同的路由之間無縫導(dǎo)航。

問題解決

  • 當(dāng)使用Vue Router時(shí),前端路由是在客戶端進(jìn)行處理的,而Nginx作為反向代理服務(wù)器默認(rèn)只處理靜態(tài)文件的請(qǐng)求。這就是為什么直接訪問 xxx.xxx.xxx.xxx:/home 時(shí)正常工作,但刷新頁(yè)面時(shí)會(huì)出現(xiàn)404錯(cuò)誤的原因。
  • 使用通配符來配置Nginx,以使其將所有路由請(qǐng)求都指向Vue應(yīng)用的 index.html,確保所有的路由請(qǐng)求都交給Vue Router處理。
server {
    listen       80;
    server_name  demo;
    
    location / {
        root   /usr/carehome_vue;
        index  index.html index.htm;
        # 配置讓Vue Router處理路由
        try_files $uri $uri/ /index.html; 
    }
}

到了這里,關(guān)于使用nginx方向代理部署Vue項(xiàng)目刷新頁(yè)面404的問題解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 服務(wù)器部署—若依【vue】如何部署到nginx里面?nginx刷新頁(yè)面404怎么辦?【完美解決建議收藏】

    服務(wù)器部署—若依【vue】如何部署到nginx里面?nginx刷新頁(yè)面404怎么辦?【完美解決建議收藏】

    服務(wù)器部署項(xiàng)目我們大家都會(huì)遇到,但是有些鐵子會(huì)遇到很多的問題,比如前端部署nginx如何操作? 前端有單純的靜態(tài)頁(yè)面、還有前后端分離的項(xiàng)目;這里博主直接分享最牛最到位的前后端分離項(xiàng)目的前端部署到nginx上面,以若依項(xiàng)目【springboot+vue】為例,實(shí)現(xiàn)將前端部署到

    2024年02月03日
    瀏覽(32)
  • Vue/React 項(xiàng)目部署到服務(wù)器后,刷新頁(yè)面出現(xiàn)404報(bào)錯(cuò)

    Vue/React 項(xiàng)目部署到服務(wù)器后,刷新頁(yè)面出現(xiàn)404報(bào)錯(cuò)

    問題描述:在本地啟動(dòng)項(xiàng)目一切正常, 部署到服務(wù)器上線后出現(xiàn)BUG,項(xiàng)目刷新頁(yè)面出現(xiàn)404 。 起初以為是自己路由守衛(wèi)或是token丟失問題,找了一圈終于解決了 產(chǎn)生原因: 我們打開vue/react打包后生成的dist文件夾,可以看到只有一個(gè) index.html 文件及一些靜態(tài)資源,這個(gè)是因?yàn)?/p>

    2024年02月07日
    瀏覽(34)
  • 解決Vue3+Vite3 打包部署到nginx后配置非根目錄刷新頁(yè)面報(bào)錯(cuò)空白

    解決Vue3+Vite3 打包部署到nginx后配置非根目錄刷新頁(yè)面報(bào)錯(cuò)空白

    報(bào)錯(cuò)內(nèi)容 解決方法 router文件 vite.config.ts nginx.conf 配置中路徑apps是我自建的存放前端頁(yè)面的文件夾 起關(guān)鍵作用的是 try_files $uri $uri/ /demo/index.html ,當(dāng)然上面項(xiàng)目文件夾demo也需保持一致 alias 后面的路徑是Vue項(xiàng)目打包后dist靜態(tài)文件服務(wù)器存放路徑,一般在nginx下面建一個(gè)文件夾

    2024年02月11日
    瀏覽(104)
  • vue3項(xiàng)目部署到服務(wù)器,剛打開沒事,一刷新頁(yè)面就404

    vue3項(xiàng)目部署到服務(wù)器,剛打開沒事,一刷新頁(yè)面就404

    vue3項(xiàng)目部署到服務(wù)器,剛打開沒事,一刷新頁(yè)面就404 不知道什么原因。百度了下才發(fā)現(xiàn)問題所在 問題所在: vue-router歷史模式的問題: vue3中歷史模式,默認(rèn)改為了HTML5模式: createWebHistory() 解決辦法: createWebHistory 換成 createWebHashHistory ,將歷史模式,由當(dāng)前的HTML5模式,改

    2024年01月18日
    瀏覽(41)
  • 前后端分離用nginx做代理服務(wù)器,刷新頁(yè)面報(bào)404 解決方法

    情況一 在nginx配置文件中加上一句話,作用就是nginx代理時(shí)候找不到頁(yè)面會(huì)嘗試訪問這個(gè)指定頁(yè)面,而前端vue項(xiàng)目的話,頁(yè)面正好是有vue自己進(jìn)行管理,所以就不會(huì)報(bào)錯(cuò)了 location /{ ? ? ? ? ? ? ? ? alias /var/www/html/; ? ? ? ? ? ? ? ? index index.html abc.html; ? ? ? ? ? ? ? ? tr

    2024年02月09日
    瀏覽(29)
  • 前端部署nginx刷新后404,解決Nginx刷新頁(yè)面后404的問題

    前端部署nginx刷新后404,解決Nginx刷新頁(yè)面后404的問題

    使用Nginx部署后,登錄頁(yè)面刷新一下就出來404,如下圖: 刷新以后 ,頁(yè)面變成404 Not Found 查看了一下nginx配置,出現(xiàn)問題的配置是這樣的: 修改后的配置是這樣的 添加了 try_files $uri $uri/ /index.html, 然后重啟一下nginx問題就解決了。 解釋: try_files 表示檢查文件是否存在,返回

    2024年02月13日
    瀏覽(31)
  • vue3.2項(xiàng)目中使用history路由模式刷新后頁(yè)面404

    開發(fā)過程中,路由可以正常訪問,打包后也可以正常訪問,但是一刷新頁(yè)面就會(huì)出現(xiàn)404錯(cuò)誤 方法一:修改為Hash路由模式 在router/index.ts文件中,將history路由模式修改為hash路由模式即可。 history路由模式: hash路由模式: 方法二、修改后臺(tái)偽靜態(tài) Nginx: Apache: 可以參考下這篇文

    2024年02月11日
    瀏覽(30)
  • Linux/openEuler系統(tǒng)部署spring boot+vue前后端分離項(xiàng)目(nginx均衡代理)

    Linux/openEuler系統(tǒng)部署spring boot+vue前后端分離項(xiàng)目(nginx均衡代理)

    可以看我前面的文章 華為openEuler系統(tǒng)安裝openjdk并配置環(huán)境變量 openEuler系統(tǒng)安裝nginx HUAWEI-OpenEuler系統(tǒng)安裝MySQL服務(wù)器并使用詳細(xì)步驟 Ubuntu安裝MySQL服務(wù)器詳細(xì)步驟 在確定項(xiàng)目可以正常運(yùn)行的前提下,進(jìn)行package打出jar包 npm run build 打包成功后在項(xiàng)目文件路徑下出現(xiàn)dist文件夾

    2024年03月24日
    瀏覽(34)
  • 用Nginx將前端Vue項(xiàng)目部署到云服務(wù)器(含代理實(shí)現(xiàn)請(qǐng)求跨域)

    用Nginx將前端Vue項(xiàng)目部署到云服務(wù)器(含代理實(shí)現(xiàn)請(qǐng)求跨域)

    記錄使用Nginx將 純前端 的Vue3項(xiàng)目部署到阿里云服務(wù)器(Ubuntu 22.04)上,包含通過Nginx代理實(shí)現(xiàn) 跨域請(qǐng)求 、以及個(gè)人踩坑記錄~ 執(zhí)行下列命令安裝: 安裝完成后查看nignx版本,顯示版本信息則說明安裝成果 啟動(dòng)nginx,如正確啟動(dòng),則不會(huì)出現(xiàn)任何提示信息。 nginx啟動(dòng)成功后打

    2024年04月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包