vue项目去掉url中的#引发的血案

本文分享了在Vue项目中去除URL中#号的方法,通过将路由模式从hash改为history,并详细介绍了如何在Nginx配置中进行相应调整,以避免刷新页面时出现404错误。

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

最近vue项目要部署到服务器,但是发现url中有一个#号,对于我一个强迫症来说是非常难受的,所以找了好多博客,终于解决了,就是在router文件夹下的index.js中的

const router = new Router({
  mode: 'hash',  //hash改成history就可以解决url中带有#号的问题
  scrollBehavior: () => ({ y: 0 }),
  isAddDynamicMenuRoutes: false, // 是否已经添加动态(菜单)路由
  routes: globalRoutes.concat(mainRoutes)
})

但是随之而来的又是另一个问题,就是不能刷新了,刷新就404,几经查找是因为history模式导致的问题,所以在nginx上配置进行了修改附配置

  location / {  
   			//这个必须要
            try_files $uri $uri @route;
            root /www/jenkins/workspace/dining_room_vue/dist;
            index  index.html index.htm;

        }
     //这个必须要
 location @route { 
        rewrite ^.*$ /index.html last;
      }

重新加载nginx,问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值