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

Vite項目Nginx子路徑部署全攻略

 更新時間:2026年05月22日 10:09:44   作者:龔雋婭Percy  
本文介紹了解決Vite項目部署到Nginx路徑后后后后頁面空白、資源加載失敗問題的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

你是否曾遇到Vite項目部署到Nginx子路徑后頁面空白、資源加載失敗或路由刷新404的問題?本文將通過3步配置法+故障排除指南,徹底解決這些痛點。讀完你將掌握:

  • Vite配置文件的關鍵參數(shù)設置
  • Nginx服務器的精確路由規(guī)則
  • 靜態(tài)資源路徑的自動適配方案
  • 404錯誤的終極解決辦法

1. Vite項目配置(核心步驟)

1.1 設置base路徑

打開項目根目錄的vite.config.js文件,添加base配置項指定子路徑名稱:

export default defineConfig({
  base: '/vite-app/',  // 子路徑名稱,必須以/開頭和結(jié)尾
  // 其他配置...
})

?? 注意:base值必須與Nginx配置中的location路徑完全一致。例如Nginx配置/app/,則此處必須設為/app/。

1.2 構(gòu)建生產(chǎn)版本

執(zhí)行構(gòu)建命令生成優(yōu)化后的靜態(tài)文件:

npm run build  # 構(gòu)建產(chǎn)物默認輸出到dist目錄

構(gòu)建完成后,檢查dist/index.html文件,確認所有資源引用路徑已自動加上/vite-app/前綴。

2. Nginx服務器配置

2.1 基礎配置模板

在Nginx配置文件(通常位于/etc/nginx/conf.d/目錄)中添加以下配置:

server {
    listen 80;
    server_name yourdomain.com;  # 替換為你的域名

    # 子路徑部署核心配置
    location /vite-app/ {
        alias /path/to/your/vite/dist/;  # 替換為實際dist目錄絕對路徑
        try_files $uri $uri/ /vite-app/index.html;  # 解決SPA路由刷新404問題
        
        # 緩存控制 - 靜態(tài)資源長期緩存
        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
            expires 30d;
            add_header Cache-Control "public, max-age=2592000";
        }
    }
}

2.2 配置說明

參數(shù)作用示例值
location /vite-app/匹配子路徑請求/admin/或/portal/
alias指定靜態(tài)文件目錄/var/www/vite-app/dist/
try_files實現(xiàn)SPA路由重定向$uri $uri/ /vite-app/index.html

配置完成后,執(zhí)行以下命令使配置生效:

nginx -t  # 測試配置是否有誤
systemctl reload nginx  # 平滑重啟Nginx

3. 部署驗證與故障排除

3.1 基本訪問測試

在瀏覽器中訪問 http://yourdomain.com/vite-app/,驗證:

  • 首頁是否正常加載
  • 點擊導航后URL是否顯示為 /vite-app/about 格式
  • 刷新頁面是否仍能正常顯示

3.2 常見問題解決方案

問題1:靜態(tài)資源404錯誤

原因:Vite構(gòu)建的資源路徑與Nginx配置不匹配
解決:檢查vite.config.js中的base值是否與Nginx的location路徑完全一致

問題2:路由刷新后404

原因:Nginx未配置SPA路由重定向
解決:確保try_files指令正確設置為 $uri $uri/ /vite-app/index.html

問題3:CSS/JS加載跨域

原因:Nginx未正確配置CORS頭
解決:在location塊中添加:

add_header Access-Control-Allow-Origin *;

4. 高級優(yōu)化配置

4.1 啟用Gzip壓縮

在Nginx配置中添加壓縮配置,減少傳輸體積:

gzip on;
gzip_types text/css application/javascript image/svg+xml;
gzip_min_length 1k;
gzip_comp_level 6;

4.2 配置HTTPS(推薦)

通過Let's Encrypt獲取免費SSL證書后,配置HTTPS:

server {
    listen 443 ssl;
    server_name yourdomain.com;
    
    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
    
    # 其他SSL配置...
    
    location /vite-app/ {
        # 同上配置...
    }
}

5. 部署架構(gòu)參考

下圖展示了Vite項目在Nginx子路徑部署的完整架構(gòu):

總結(jié)與最佳實踐

  1. 配置同步原則:始終保持Vite的base配置與Nginx的location路徑完全一致
  2. 構(gòu)建驗證:每次修改配置后執(zhí)行npm run build重新構(gòu)建
  3. 緩存策略:對靜態(tài)資源設置長期緩存,對HTML設置不緩存
  4. 版本控制:建議在子路徑中包含版本號,如/vite-app/v2/,便于多版本共存

官方文檔:docs/guide/static-deploy.md
配置示例:playground/backend-integration/vite.config.js

通過以上步驟,你的Vite項目將在Nginx子路徑環(huán)境中穩(wěn)定運行,同時具備優(yōu)秀的性能和可維護性。

到此這篇關于Vite項目Nginx子路徑部署全攻略的文章就介紹到這了,更多相關Vite Nginx子路徑部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue頁面使用js實現(xiàn)前端打印功能

    vue頁面使用js實現(xiàn)前端打印功能

    這篇文章主要介紹了vue頁面使用js實現(xiàn)前端打印功能,文中通過圖文結(jié)合的方式給大家講解的非常詳細,對大家實現(xiàn)打印功能有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • vue第一次獲取不到元素的解決方法記錄

    vue第一次獲取不到元素的解決方法記錄

    Vue.js雖然說是數(shù)據(jù)驅(qū)動頁面的,但是有時候我們也要獲取dom對象進行一些操作。這篇文章主要給大家介紹了關于vue第一次獲取不到元素的解決方法,需要的朋友可以參考下
    2021-06-06
  • 解決vue項目刷新后,導航菜單高亮顯示的位置不對問題

    解決vue項目刷新后,導航菜單高亮顯示的位置不對問題

    今天小編就為大家分享一篇解決vue項目刷新后,導航菜單高亮顯示的位置不對問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Vue.js標簽頁組件使用方法詳解

    Vue.js標簽頁組件使用方法詳解

    這篇文章主要為大家詳細介紹了Vue.js標簽頁組件的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一
    2019-10-10
  • vue 更改連接后臺的api示例

    vue 更改連接后臺的api示例

    今天小編就為大家分享一篇vue 更改連接后臺的api示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 手寫實現(xiàn)vue2下拉菜單dropdown組件實例

    手寫實現(xiàn)vue2下拉菜單dropdown組件實例

    這篇文章主要為大家介紹了手寫vue2下拉菜單dropdown組件實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 詳解Vue的七種傳值方式

    詳解Vue的七種傳值方式

    這篇文章主要介紹了Vue的七種傳值方式,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • vuex如何在非組件中調(diào)用mutations方法

    vuex如何在非組件中調(diào)用mutations方法

    這篇文章主要介紹了vuex如何在非組件中調(diào)用mutations方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • VUE-Table上綁定Input通過render實現(xiàn)雙向綁定數(shù)據(jù)的示例

    VUE-Table上綁定Input通過render實現(xiàn)雙向綁定數(shù)據(jù)的示例

    今天小編就為大家分享一篇VUE-Table上綁定Input通過render實現(xiàn)雙向綁定數(shù)據(jù)的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • vue.js指令和組件詳細介紹及實例

    vue.js指令和組件詳細介紹及實例

    這篇文章主要介紹了vue.js功能介紹 - 指令,組件詳細介紹及實例,詳細的介紹了指令和組件的用法,有興趣的可以了解一下。
    2017-04-04

最新評論

达拉特旗| 任丘市| 保亭| 景东| 西盟| 宜君县| 高雄市| 万山特区| 曲靖市| 施秉县| 贵港市| 中卫市| 海南省| 宁国市| 贵南县| 巧家县| 全南县| 富川| 杭锦旗| 河池市| 安陆市| 汝州市| 从江县| 壤塘县| 库伦旗| 郑州市| 柳河县| 孝义市| 无为县| 辽源市| 利津县| 新乡市| 富顺县| 建德市| 左云县| 东海县| 金坛市| 芜湖市| 泊头市| 玉屏| 遵义县|