讲师中心 微信公众号
AI工具推荐 视频效率加速

uni-app H5 history模式 uni-app如何配置路由为history模式

夜萱姑娘_2202

夜萱姑娘_2202

发布时间:2026-04-25 13:43:19

|

463人浏览过

|

来源于php中文网

原创

UniApp 的 router.mode 必须严格配置在 manifest.json 的 h5 节点下,格式为 {"h5": {"router": {"mode": "history"}}},大小写敏感,修改后需重新运行项目而非热更新。

uni-app h5 history模式 uni-app如何配置路由为history模式

manifest.json 里 router.mode 配置写对了没?

很多情况下,history 模式“不起作用”,其实压根没生效——因为配置位置或格式错了。UniApp 的 router.mode 必须严格写在 manifest.json 的 h5 节点下,不是 mp-weixin,也不是顶层。

常见错误现象:改完配置后刷新页面 URL 还带 #/,或者控制台没报错但路由行为完全没变。

实操建议:

  • 打开 manifest.json,确认结构类似这样:
    {
    "name": "my-app",
    "h5": {
      "router": {
        "mode": "history"
      }
    }
    }
  • 修改后必须重新运行项目:npm run dev:h5 或 HBuilderX 中「运行 → 运行到浏览器」,热更新不触发路由模式重载
  • 不要写成 "mode": "History"(大小写敏感),也不要在 vue-router 初始化代码里手动覆盖——uni-app 的路由由框架接管,手写会冲突

刷新页面直接返回源码?那是服务器没兜底

这是 history 模式最典型的“假失效”:前端跳转正常,但一刷新就看到 HTML 源码(甚至下载弹窗),本质是服务器把 /user/profile 当作真实路径去查文件,找不到就返回 404 或原始 index.html 的 raw 内容(MIME 类型错导致浏览器不执行 JS)。

使用场景:本地用 npm run dev:h5 通常没问题;一旦部署到 Nginx/Apache/静态托管平台,就必须配服务端 fallback。

实操建议:

  • Nginx:在 location / 块中加一行:try_files $uri $uri/ /index.html;
  • Apache:根目录放 .htaccess,内容为:
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.html [L]
  • 注意:如果部署在子路径(如 <a href="https://www.php.cn/link/009aa24babc6c78308c9c3513061331f">https://www.php.cn/link/009aa24babc6c78308c9c3513061331f</a>),除了 Nginx 的 root 或 alias 要配对,manifest.json 还得加 publicPath:"h5": {"publicPath": "/myapp/", "router": {"mode": "history"}}

为什么有的手机刷新后白屏或跳首页?base 和 publicPath 混了

publicPath 是构建时资源引用的前缀(影响 js/css 加载),router.base 是运行时路由匹配的基准路径(影响 push/go 行为)。两者不一致,会导致路由能推、但组件不渲染,或资源 404 进而 JS 报错中断。

Skill Weave Chains — 技能链路由引擎
Skill Weave Chains — 技能链路由引擎

开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。

下载

常见错误现象:PC 正常,iOS 微信里点链接进 /pages/user/index 却卡在 splash 页;或者控制台报 Failed to load resource: the server responded with a status of 404 (),路径指向 /static/xxx.js 而不是 /sub/static/xxx.js。

实操建议:

  • 若部署在子目录,只设 publicPath,别碰 router.base(uni-app 会自动从 publicPath 推导)
  • publicPath 值必须以 / 开头、结尾不加 /,例如:"/mall" ✅,"mall/" ❌,"./mall" ❌
  • 构建后检查 dist/build/h5/index.html 里 script 标签的 src 是否带正确前缀,这是最直接的验证方式

旧版本 uni-app 有兼容性坑,别跳过升级

部分 3.1.x 之前的版本存在 history 模式下 replace 失效、嵌套路由丢失参数、或 iOS WKWebView 中 popstate 未触发等问题。这些不是配置问题,而是底层实现缺陷。

性能 / 兼容性影响:新版(≥3.2.13)已统一基于 createWebHistory 封装,支持更稳定的导航守卫和滚动行为;旧版可能在微信内嵌浏览器中静默降级回 hash。

实操建议:

  • 运行 npm list @dcloudio/uni-app 查当前版本
  • 升级命令:npm update @dcloudio/uni-app(注意不是 uni-app,包名带 scope)
  • 升级后务必清空 node_modules 和 dist,再全量重编译,缓存容易掩盖问题

history 模式本身不难,难的是它把前端路由的边界推到了服务端配置和构建路径上——三个地方(manifest、服务器、publicPath)只要一个没对齐,就会在某个设备或某个刷新时机突然崩掉。

相关文章

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

相关专题

更多
python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2523

2023.08.11

前端如何实现即时通讯
前端如何实现即时通讯

实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

5463

2023.10.09

前端和后端的区别
前端和后端的区别

前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

6490

2024.03.19

php和前端的关联介绍
php和前端的关联介绍

php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

6098

2024.03.22

前端外包工作内容有哪些
前端外包工作内容有哪些

前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

863

2024.05.22

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

20

2026.10.16

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

0

2026.10.16

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

0

2026.10.16

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

0

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
uni-app从入门到实战教程
uni-app从入门到实战教程

共0课时 | 0人学习

uni-app x harmony开发指南
uni-app x harmony开发指南

共0课时 | 0人学习

uni-app鸿蒙运行和发行
uni-app鸿蒙运行和发行

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn