当前位置: 首页 > news >正文

vue3项目路由同时拥有了hash模式与history模式的效果

开发了大半年的功能一直用的是hash模式 今天领导突然说 我们的项目链接为什么会有一个这么丑的#号,竟然领导提出不满我们这些打工仔改掉就是了 

也就一个配置的事情,原先的配置是 history:createWebHashHistory()现在改成了history:createWebHistory()

页面中测试了一下 点了几个按钮正常访问#号被去掉了  但是我在地址栏中访问的时候会在结尾给我加上#/这就很奇怪了
找了配路由的地方 也确认了就是用的history模式  ai提示我项目中使用的还是hash模式,仔细看了router文件以及main.ts文件 

export const setRouter = async function () {await loadRoutes();console.log(routes, "routes");router = createRouter({history: getHistoryMode(import.meta.env.VITE_ROUTER_HISTORY),routes: routes,scrollBehavior(to, from, savedPosition) {return new Promise(resolve => {if (savedPosition) {return savedPosition;} else {if (from.meta.saveSrollTop) {const top: number =document.documentElement.scrollTop || document.body.scrollTop;resolve({ left: 0, top });}}});}});
function getHistoryMode(routerHistory): RouterHistory {// len为1 代表只有历史模式 为2 代表历史模式中存在base参数 https://next.router.vuejs.org/zh/api/#%E5%8F%82%E6%95%B0-1const historyMode = routerHistory.split(",");const leftMode = historyMode[0];const rightMode = historyMode[1];// no paramif (historyMode.length === 1) {if (leftMode === "hash") {return createWebHashHistory("");} else if (leftMode === "h5") {// return createWebHistory(import.meta.env.VITE_PUBLIC_PATH);return createWebHistory("/");}} //has paramelse if (historyMode.length === 2) {if (leftMode === "hash") {return createWebHashHistory(rightMode);} else if (leftMode === "h5") {return createWebHistory(rightMode);}}
}

上面代码一直用的是history模式

但是在main.ts中发现多了一行代码

  //historyIn = createWebHashHistory("");routerIn = await setRouter(
   //historyIn 
  );

 

实际上setRouter并未接受参数 但是直接执行createWebHashHistory()函数就会对整个项目造成影响 

将代码注释掉后  即可解决这个问题

http://www.jsqmd.com/news/312744/

相关文章:

  • itc保伦股份LED异形屏、分布式综合管理平台等系统全面应用于加中生物科技总部大楼智慧化建设
  • 南昌英语雅思培训机构推荐;2026权威测评出国雅思辅导机构口碑榜单
  • 2026年健身教练培训机构哪家口碑好?
  • 2026废旧电缆回收厂家TOP5权威推荐:全国视野+区域标杆优选指南
  • 广州市英语雅思培训机构推荐,2026权威测评出国雅思辅导机构口碑榜单
  • USACO历年青铜组真题解析 | 2024年1月
  • 海水陆养如何实现远程监控与智慧管理
  • Thinkphp和Laravel基于Web的电子产品商城销售系统设计与实现
  • Thinkphp和Laravel基于Web的研究生选课学籍管理系统_u0974
  • Thinkphp和Laravel基于Web的课程设计选题管理系统
  • Thinkphp和Laravel基于协同过滤算法的体育商城商品推荐系统_t81xg
  • 2026 英语雅思培训班哪家好?实战提分口碑榜,靠谱机构深度测评 TOP5
  • 银川市英语雅思培训辅导机构推荐;2026权威出国雅思课程中心学校口碑排行榜
  • Thinkphp和Laravel基于协同过滤算法的私人诊所挂号预约管理系统_6t4o8
  • join查询中索引建议
  • 银川市英语雅思培训辅导机构推荐:2026权威出国雅思课程中心学校口碑排行榜
  • DCS隔膜泵数据采集物联网解决方案
  • 海鲜陆地养殖物联网远程监控系统方案
  • 网络安全黑客技术之实现了一下CSRF原来不像背的那么简单,网络安全零基础入门到精通教程!
  • CTF学习法则——寒假篇 新手赶快收藏吧!
  • 本站最全网络安全学习路线图(2026版详解版)
  • 快看 !计算机专业包括哪些专业?计算机类18个专业全面解读,附就业方向,收藏这一篇就够了
  • 2026年常州营销推广公司推荐:五大权威评测榜单与全域增长选型终极指南
  • 2026年江苏板簧/压簧/拉簧/农机弹簧/弹齿厂家选型指南:技术变革下的头部玩家与决策逻辑
  • 口碑好的管线管品牌推荐,天津腾昊伟业钢管在其中吗
  • 分析国际高中学校,上海林国荣京岛义塾学校性价比如何
  • 2026年常州营销推广公司推荐:全域增长痛点深度评测,涵盖电商与本地生活场景
  • 2026年防撞板厂家费用揭秘,佛山品牌有哪些优势
  • 2026年儿童英语学习机构排名,细数那些性价比高的儿童英语课程
  • 好用的隧道炉品牌有哪些,实力强的隧道炉企业江苏盐能值得关注