亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue部署到線上為啥會(huì)出現(xiàn)404的原因分析及解決

 更新時(shí)間:2025年04月17日 11:02:40   作者:大樊子  
這篇文章主要介紹了vue部署到線上為啥會(huì)出現(xiàn)404的原因分析及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將 Vue 項(xiàng)目部署到線上后出現(xiàn) 404 錯(cuò)誤,通常是由于 路由配置、服務(wù)器設(shè)置或資源路徑問(wèn)題 導(dǎo)致的。

以下是常見(jiàn)原因及解決方案:

1. 前端路由(history 模式)未配置服務(wù)器支持

問(wèn)題原因

Vue 默認(rèn)使用 hash 模式(URL 帶 #),但若使用 history 模式(無(wú) # 的 URL),刷新頁(yè)面時(shí)服務(wù)器會(huì)嘗試匹配該路徑,但實(shí)際不存在對(duì)應(yīng)的文件,導(dǎo)致 404。

示例

訪問(wèn) https://example.com/user/123,服務(wù)器會(huì)查找 /user/123/index.html,但 Vue 是單頁(yè)應(yīng)用(SPA),所有路由應(yīng)由前端處理。

解決方案

方案 1:配置服務(wù)器重定向到 index.html

確保所有請(qǐng)求都返回 index.html,由 Vue Router 接管路由。

  • Nginx 配置
location / {
  try_files $uri $uri/ /index.html;
}
  • Apache 配置.htaccess):
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
  • Netlify/Vercel

在部署設(shè)置中指定 rewrites 規(guī)則,指向 index.html。

方案 2:改用 hash 模式

在 Vue Router 中強(qiáng)制使用 hash 模式:

const router = new VueRouter({
  mode: 'hash', // 默認(rèn)是 'history'
  routes: [...]
});

2. 靜態(tài)資源路徑錯(cuò)誤(JS/CSS 404)

問(wèn)題原因

打包后的資源路徑錯(cuò)誤,瀏覽器無(wú)法加載 JS/CSS 文件。

常見(jiàn)于項(xiàng)目部署在子目錄(如 https://example.com/subdir/),但靜態(tài)資源引用的是絕對(duì)路徑。

解決方案

修改 vue.config.js,設(shè)置正確的 publicPath

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/your-subdir/' : '/'
};
  • 如果部署在根目錄,用 publicPath: '/';
  • 如果部署在子目錄(如 /subdir/),用 publicPath: '/subdir/'。

檢查打包后的 index.html

確保引用的 JS/CSS 路徑正確,例如:

<script src="/subdir/js/app.123456.js"></script>

3. 服務(wù)器未正確配置 MIME 類(lèi)型

問(wèn)題原因

服務(wù)器未正確返回 .js、.css 等文件的 MIME 類(lèi)型,導(dǎo)致瀏覽器拒絕加載。

解決方案

  • Nginx 配置
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
  expires 1y;
  add_header Cache-Control "public";
  try_files $uri =404;
}
  • Apache 配置:確保 .htaccess 包含:
AddType application/javascript js
AddType text/css css

4. 部署目錄結(jié)構(gòu)錯(cuò)誤

問(wèn)題原因

  • 打包后的 dist 文件夾內(nèi)容未完整上傳到服務(wù)器。
  • 服務(wù)器根目錄未指向 dist 文件夾。

解決方案

  • 確保上傳的是 dist 內(nèi)的所有文件(而非 dist 文件夾本身)。
  • 檢查服務(wù)器配置的根目錄是否正確:
server {
  root /path/to/your/dist;
  index index.html;
}

5. 瀏覽器緩存問(wèn)題

問(wèn)題原因

  • 舊版本緩存導(dǎo)致加載異常。

解決方案

  • 強(qiáng)制刷新頁(yè)面(Ctrl + F5Cmd + Shift + R)。
  • 在文件名中添加哈希(Vue CLI 默認(rèn)已配置):
// vue.config.js
module.exports = {
  filenameHashing: true // 默認(rèn)開(kāi)啟
};

總結(jié)排查步驟

  • 檢查服務(wù)器路由配置(History 模式需重定向到 index.html)。
  • 驗(yàn)證靜態(tài)資源路徑publicPath 是否正確)。
  • 查看瀏覽器控制臺(tái)(Network 面板確認(rèn)哪些文件返回 404)。
  • 檢查服務(wù)器日志(如 Nginx 的 error.log)。
  • 清除緩存或使用無(wú)痕模式 測(cè)試。

如果問(wèn)題仍未解決,可以提供具體的 部署環(huán)境(Nginx/Apache/Netlify 等)錯(cuò)誤日志,進(jìn)一步分析!

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

相關(guān)文章

  • vue實(shí)現(xiàn)按需加載組件及異步組件功能

    vue實(shí)現(xiàn)按需加載組件及異步組件功能

    這篇文章主要介紹了vue實(shí)現(xiàn)按需加載組件和異步組件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • Vue使用formData類(lèi)型上傳文件

    Vue使用formData類(lèi)型上傳文件

    這篇文章主要介紹了Vue使用formData類(lèi)型上傳文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式

    antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式

    這篇文章主要介紹了antd-DatePicker組件獲取時(shí)間值,及相關(guān)設(shè)置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 詳解VUE調(diào)用本地json的使用方法

    詳解VUE調(diào)用本地json的使用方法

    這篇文章主要介紹了VUE調(diào)用本地json的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vue3中使用v-model實(shí)現(xiàn)父子組件數(shù)據(jù)同步的三種方案

    vue3中使用v-model實(shí)現(xiàn)父子組件數(shù)據(jù)同步的三種方案

    這篇文章主要介紹了vue3中使用v-model實(shí)現(xiàn)父子組件數(shù)據(jù)同步的三種方案,如果只有一個(gè)匿名v-model的傳遞的話,可以使用vue3.3新添加的編譯宏,defineModel來(lái)使用,每種方案結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • vue如何實(shí)現(xiàn)文件上傳及預(yù)覽

    vue如何實(shí)現(xiàn)文件上傳及預(yù)覽

    這篇文章主要介紹了vue如何實(shí)現(xiàn)文件上傳及預(yù)覽問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 關(guān)于vue.js中實(shí)現(xiàn)方法內(nèi)某些代碼延時(shí)執(zhí)行

    關(guān)于vue.js中實(shí)現(xiàn)方法內(nèi)某些代碼延時(shí)執(zhí)行

    今天小編就為大家分享一篇關(guān)于vue.js中實(shí)現(xiàn)方法內(nèi)某些代碼延時(shí)執(zhí)行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Vue前端表格導(dǎo)出Excel文件的圖文教程

    Vue前端表格導(dǎo)出Excel文件的圖文教程

    我們?cè)陂_(kāi)發(fā)的時(shí)候會(huì)經(jīng)常用的導(dǎo)出excel表格功能,剛好自己開(kāi)發(fā)有遇到,就記錄一下,下面這篇文章主要給大家介紹了關(guān)于Vue前端表格導(dǎo)出Excel文件的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • vue動(dòng)態(tài)加載本地圖片的處理方法

    vue動(dòng)態(tài)加載本地圖片的處理方法

    最近遇到了個(gè)問(wèn)題,用v-bind動(dòng)態(tài)綁定img的src,圖片加載不出來(lái),所以下面這篇文章主要給大家介紹了關(guān)于vue動(dòng)態(tài)加載本地圖片的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • vue3按鈕點(diǎn)擊頻率控制的實(shí)現(xiàn)示例

    vue3按鈕點(diǎn)擊頻率控制的實(shí)現(xiàn)示例

    在前端開(kāi)發(fā)中,當(dāng)用戶頻繁連續(xù)點(diǎn)擊按鈕,可能會(huì)導(dǎo)致頻繁的請(qǐng)求或者觸發(fā)過(guò)多的操作,本文主要介紹了vue3按鈕點(diǎn)擊頻率控制的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2024-01-01

最新評(píng)論