vue-cli build, vite build 生产部署刷新或弹窗404,页面空白修复方法

1、问题描述

vue前端生产部署后,当我们使用history模式进入页面路由后,刷新浏览器,或者输入页面路由或者弹窗会出现404 not found错误。例如我这里访问数据大屏的项目列表,就会报错如下图:

打开控制台报错如下图:

2、原因分析

这里存在两种情况:

1)应用是直接作为部署在nginx的根目录比如/var/www/html中(这种较少).

2)应用作为二级目录部署在nginx的根目录比如/var/www/html/big中(这种较常见).

一般情况下nginx 默认配置如下:

复制代码
        root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ $uri/index.html $uri/ =404;
        }

当nginx 收到、project/items这个请求时会去root配置路径/var/www/html中找project目录,然后查找该目录下是否有items这个文件,这肯定是找不到的,所以就报了个404错误。

3、解决方案

对应情况1),只需要去掉 try_files 末尾的 $uri/ =404

配置如下

复制代码
        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ $uri/index.html ;
        }

对应情况 2),建议新增代理,让找不到的页面都去访问index.html

配置如下:

复制代码
        location /big/ {                                                                                                
               try_files $uri $uri/ $uri/index.html /big/index.html;  #router = history                                 
        }   

这种情况建议最好去掉 location / ,容易被拦截了报500错误。

这种情况建议最好去掉 location / ,容易被拦截了报500错误。

这种情况建议最好去掉 location / ,容易被拦截了报500错误。
============= 相关博文 ============

vite build 发布到nginx二级目录

Ruoyi-vue-pro Vue + nginx 二级目录部署到云服务器​​​​​​​

ruoyi-vue-pro数据大屏------路由支持history,告别难看的hash路由

============= 相关博文 ============

相关推荐
开开心心就好7 小时前
PDF图片去水印软件,支持批量处理页面
前端·javascript·人工智能·智能手机·pdf·语音识别
爱敲代码的小杨.7 小时前
【Spring】Spring Web MVC
前端·spring·mvc
我的世界洛天依8 小时前
【胡桃讲编程】JS 入门第 1 课:Hello World,开启你的 JavaScript 编程之旅
javascript
是立不是利8 小时前
深入理解JavaScript事件委托
开发语言·前端·javascript
晴天168 小时前
React 版本迭代解析:从15到19 核心差异-Day40
前端·react.js·前端框架
APItesterCris8 小时前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库
啊阿狸不会拉杆9 小时前
《计算机网络-自顶向下方法》6.7 回顾:Web页面请求的历程 读书笔记
前端·计算机网络
李少兄9 小时前
记一次 IDEA 打开 Vue 项目后目录“闪现即消失“ 问题排查
java·vue.js·intellij-idea
云上工程笔记9 小时前
四柱记账法和复式记账法有什么区别?复式记账为什么更适合查错和对账
大数据·前端·人工智能
恋猫de小郭9 小时前
Dart Skills CLI 1.0 :AI 时代的 Dart 交付支持
android·前端·flutter