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后台

相关推荐
阿瑞IT1 分钟前
2026年 AI Agent 生产化落地全景:四大高频故障根因分析与工程解法
前端
木木剑光7 分钟前
我开源了一个 React 组件库,沉淀了多个高频组件和实用 Hooks
前端·javascript·react.js
kyriewen11 分钟前
DeepSeek API 高峰时段涨价 2 倍,便宜大碗的时代要结束了?
前端·ai编程·deepseek
Moment38 分钟前
牛逼,NextJs 从 16.3 开始全面拥抱 Agent Native 🥰🥰🥰
前端·后端·面试
沸点小助手1 小时前
6月沸点活动获奖名单公示|本周互动话题上新🎊
前端·后端
Csvn1 小时前
React 19 `use()` 来了:以后数据加载可以不用 useEffect?
前端·react.js
没落英雄1 小时前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
远航_1 小时前
git submodule
前端·后端·github
摸着石头过河的石头1 小时前
从 Webpack 到 RSBuild:前端构建工具的进化之路
前端
疯狂的魔鬼1 小时前
告别 boolean 地狱:一个文件上传组件的状态机实践
前端·设计