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

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

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

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

以下是常見原因及解決方案:

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

問題原因

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

示例

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

解決方案

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

確保所有請求都返回 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 中強制使用 hash 模式:

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

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

問題原因

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

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

解決方案

修改 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 類型

問題原因

服務(wù)器未正確返回 .js.css 等文件的 MIME 類型,導(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)錯誤

問題原因

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

解決方案

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

5. 瀏覽器緩存問題

問題原因

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

解決方案

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

總結(jié)排查步驟

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

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

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

相關(guān)文章

  • VUE3.2項目使用Echarts5.4詳細(xì)步驟總結(jié)

    VUE3.2項目使用Echarts5.4詳細(xì)步驟總結(jié)

    Vue3.2是一款非常流行的JavaScript框架,它讓在前端領(lǐng)域開發(fā)變得更加的便捷,下面這篇文章主要給大家介紹了關(guān)于VUE3.2項目使用Echarts5.4的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Vue實現(xiàn)項目通用配置環(huán)境管理詳解

    Vue實現(xiàn)項目通用配置環(huán)境管理詳解

    這篇文章主要為大家詳細(xì)介紹了Vue實現(xiàn)項目通用配置環(huán)境管理的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • vue-element-admin后臺生成動態(tài)路由及菜單方法詳解

    vue-element-admin后臺生成動態(tài)路由及菜單方法詳解

    vue-element-admin后臺管理系統(tǒng)模板框架 是vue結(jié)合element-ui一體的管理系統(tǒng)框架,下面這篇文章主要給大家介紹了關(guān)于vue-element-admin后臺生成動態(tài)路由及菜單的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • vue實現(xiàn)商品詳情頁功能之商品選項卡

    vue實現(xiàn)商品詳情頁功能之商品選項卡

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)商品詳情頁功能之商品選項卡,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • 如何處理elementUI中表格多選框禁用的問題

    如何處理elementUI中表格多選框禁用的問題

    這篇文章主要介紹了如何處理elementUI中表格多選框禁用的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue實現(xiàn)抽屜彈窗效果

    vue實現(xiàn)抽屜彈窗效果

    這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)抽屜彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 使用vue-router設(shè)置每個頁面的title方法

    使用vue-router設(shè)置每個頁面的title方法

    下面小編就為大家分享一篇使用vue-router設(shè)置每個頁面的title方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue 中常用操作數(shù)組的方法(forEach()和reduce())

    vue 中常用操作數(shù)組的方法(forEach()和reduce())

    文章介紹了JavaScript中常用的操作數(shù)組方法,包括forEach()和reduce(),forEach()用于遍歷數(shù)組并對每個元素執(zhí)行操作,而reduce()則用于遍歷數(shù)組并進(jìn)行累加等迭代操作,感興趣的朋友一起看看吧
    2025-03-03
  • vue項目中引入Sass實例方法

    vue項目中引入Sass實例方法

    在本文里小編給大家整理的是關(guān)于vue項目中引入Sass的相關(guān)知識點內(nèi)容,有需要的朋友們可以測試參考下。
    2019-08-08
  • 解決vue+ element ui 表單驗證有值但驗證失敗問題

    解決vue+ element ui 表單驗證有值但驗證失敗問題

    這篇文章主要介紹了vue+ element ui 表單驗證有值但驗證失敗,本文通過實例代碼給大家分享解決方案,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01

最新評論

深水埗区| 合阳县| 三河市| 大名县| 抚远县| 芒康县| 威宁| 九龙城区| 天峻县| 四会市| 淮南市| 天祝| 永年县| 梁河县| 浏阳市| 中牟县| 武川县| 青川县| 富裕县| 韩城市| 邹城市| 孟州市| 进贤县| 南木林县| 平昌县| 健康| 宝坻区| 辉县市| 望奎县| 湘阴县| 扎鲁特旗| 基隆市| 广丰县| 兴安县| 格尔木市| 东阳市| 绵阳市| 天峻县| 收藏| 霸州市| 长沙县|