Umi&React antd pro 增加前缀打包部署后404与刷新找不到资源问题

在多项目环境中,前端项目与后台管理项目共用服务器目录可能导致部署后出现404错误。解决方法包括在umi配置文件config/config.ts中添加相关设置,以及在nginx配置中进行调整,利用try_files指令确保找不到资源时返回index.html,防止页面刷新找不到路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中可能一个项目包含多个子项目,如前端项目和后台管理的项目放在同一个服务器目录中,前端项目地址是 www.xxx.com ,后台管理项目地址是 www.xxx.com/admin 。这样会遇到一个问题,本地开发是好的,部署后就会有问题,修复方式需要从两方面下手。

1. umi 中增加配置

找到配置文件 config/config.ts 添加如下配置

export default defineConfig({
   
  publicPath: '/admin/',
  base
### Ant Design Pro 部署刷新页面问题解决方案 当部署 Ant Design Pro 应用至生产环境并遇到刷新页面返回 404 错误的情况时,这通常是因为前端路由模式服务器配置之间的兼容性问题所引起的。对于采用 HTML5 History 模式的单页应用 (SPA),每次刷新都会尝试加载特定路径下的资源而非指向 `index.html` 文件来让前端框架接管后续的路由处理。 #### 使用 Nginx 进行反向代理设置 为了确保无论用户如何导航或是手动输入 URL 地址都能正确显示应用程序的内容而不是收到 404 错误响应,可以在 Nginx 中调整站点配置以重定向所有请求到根目录下的 `index.html` 文件: ```nginx server { listen 80; server_name yourdomain.com; location / { root /path/to/your/build/folder; try_files $uri $uri/ /index.html; } } ``` 这段配置中的关键在于最后一行 `try_files $uri $uri/ /index.html;` 它会告诉 Nginx 尝试匹配静态文件如果不到则返回 `index.html` 让 React Router 或者其他类似的库去解析实际应该展示哪个组件[^4]。 #### 对于 Aliyun OSS 存储服务 如果是将构建好的项目上传到了阿里云对象存储(OSS)上,则需要利用其自带的功能实现类似的效果——即开启网站托管功能并将默认首页设为 `index.html` 同时指定自定义错误文档同样指向该文件。这样即使发生未资源的情形也会被导向主页从而避免了直接暴露给用户的尴尬局面[^1]。 #### 处理 API 请求跨域及 Mock 数据模拟 另外值得注意的是,在开发阶段可能会依赖本地运行的服务端接口或者是 mock 接口来进行调试测试工作;然而一旦进入正式上线前准备环节就必须考虑到真实环境中可能存在的 CORS 跨源资源共享限制以及怎样合理安排线上使用的假数据供应机制等问题。可以考虑借助诸如 Umi 提供的相关工具链支持如 umi-serve 结合 PM2 来保持后台进程稳定在线的同时满足上述需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

史一试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值