uniapp使用history路由模式打包上线到前端网页托管的注意事项

问题描述

我们在使用uniapp开发项目的时候,在manifest.json配置项的web配置中,路由模式有两种,分别是hash模式和history模式,在之前项目中,我们经常采用hash模式,这种路由模式打包简单,不用做额外的配置,主要的问题是,会在url中出现#号,可能会影响美观,如下所示:

javascript 复制代码
https://ssr.qingnian8.com/#/pages/classify/classify

如何去掉#号那,那么就需要使用history路由模式了,但是改成这种模式的话,需要做一些配置才行。

使用history路由模式

如上所示:

1.将路由模式改为history

2.运行路径一定要为空,或者/线,千万不用用./,使用history路由模式放到web前端托管的话,是绝对不能放到二级目录的,只能在根目录下,所以这个位置要为空

3.如果前端网页托管自己配置了域名并且开启了https配置了SSL安全证书,就勾上,如果没有配置https那么就不要勾选。

如果你使用的是代码视图,可以直接复制下面代码,那种方式都一样。

javascript 复制代码
"h5": {
"title": "咸虾米壁纸",
	"router": {
		"base": "",
		"mode": "history"
	},
	"devServer": {
		"https": true
	}
}

发行

如果你没有服务器,那就直接放到unicloud的前端网页托管中,如果没有,点击右上角新增一个,发行的时候,直接勾选"将编译后的资源部署到前端网页托管",这样好处是打包完成后,自动商城到云端了,不需要你手动上传了。

在前端网页托管中,可以看到刚刚打包好的文件,点击参数配置,里面有默认网址,可以直接使用默认网址来查看打包的网页了,默认网页每天有访问次数限制,仅做测试使用,如果想要可以一直使用,建议绑定自己的域名,可以查看这篇文章:uniCloud服务空间前端网页托管绑定自定义配置网站域名

我按照如上文章,已经绑定了自己的域名,所以可以通过下面网址访问,在这个url中已经不存在#号了,看起来是不是很美观了:

javascript 复制代码
https://ssr.qingnian8.com/pages/classify/classify

解决刷新空白页问题

正常访问网站内的各个页面是没有任何问题,但是如果刷新一下,就会出现空白页了,如何解决那?

在路由规则中,点击编辑,将404页面,设置成index.html,这样再刷新的时候,就解决了出现空白页面的情况。

最后

如果想让网页标签中出现icon小图标,可以看这篇文章,uniapp项目打包H5在浏览器标签显示favicon.ico图标

如果想学习一下完整的壁纸项目,可以学习一下:咸虾米壁纸uniapp全栈微信小程序vue3后台

相关推荐
于慨1 天前
Lambda 表达式、方法引用(Method Reference)语法
java·前端·servlet
石小石Orz1 天前
油猴脚本实现生产环境加载本地qiankun子应用
前端·架构
从前慢丶1 天前
前端交互规范(Web 端)
前端
CHU7290351 天前
便捷约玩,沉浸推理:线上剧本杀APP功能版块设计详解
前端·小程序
GISer_Jing1 天前
Page-agent MCP结构
前端·人工智能
王霸天1 天前
💥别再抄网上的Scale缩放代码了!50行源码教你写一个永不翻车的大屏适配
前端·vue.js·数据可视化
小领航1 天前
用 Three.js + Vue 3 打造炫酷的 3D 行政地图可视化组件
前端·github
@大迁世界1 天前
2026年React大洗牌:React Hooks 将迎来重大升级
前端·javascript·react.js·前端框架·ecmascript
PieroPc1 天前
一个功能强大的 Web 端标签设计和打印工具,支持服务器端直接打印到局域网打印机。Fastapi + html
前端·html·fastapi
悟空瞎说1 天前
深入 Vue3 响应式:为什么有的要加.value,有的不用?从设计到源码彻底讲透
前端·vue.js