vue项目 部署到线上 刷新页面的时候会跳转到首页是怎么回事啊,两种路由模式都是,但是本地没有这个问题

vue项目 部署到线上 刷新页面的时候会跳转到首页是怎么回事啊,两种路由模式都是,但是本地没有这个问题

那大概率是nginx配置的问题 加上这个试试 index是你打包后dist里面的index.html

location / {
  try_files $uri $uri/ /index.html;
}

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7669491
  • 这篇博客也不错, 你可以看下vue 页面绑定滚动事件后所有页面都会触发
  • 除此之外, 这篇博客: vue项目中使用正在失去焦点事件并对输入框进行正则校验中的 vue项目中使用正在失去焦点事件并对输入框进行正则校验 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • <!-- 邮箱输入框,为其设置失去焦点事件 -->
    <input v-model="resourceapplication.cloudHostUserContactEmail" class="form-control" id="email" v-on:blur="email()">
    
    <!-- 放置于script标签中的methods中 -->
    email() {
    	<!-- 获取id为email的整个标签数据 -->
    	let email = document.getElementById("email");
    	<!--
    		校验email中的value值是否符合正则表达式要求,符合就将边框改为绿色,不符合就弹出错误提示,并将输入框中的数据改为空,再将边框置为红色
    		/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,5}$/ : 邮箱正则表达式
    		/^1[3456789]\d{9}$/ : 手机号正则表达式
    		/\d+/g : 数字正则表达式
    		/^[\s\S]*.*[^\s][\s\S]*$/ : 为空正则表达式
    		email.value : 用户输入到输入框中的数据,也可以通过resourceapplication.cloudHostUserContactEmail获取用户输入到输入框中的数据
    	-->
    	if (/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,5}$/.test(email.value)) {
    
    		email.style.border = "1px solid #00FF00";	
    
    	} else {
    
    		alert("邮箱格式错误, 请重新输入");
    		email.value = "";
            email.style.border = "1px solid #FF4500";
    
    	}
    }
    
  • 您还可以看一下 邓继诚老师的vue基础入门系列课程+仿魅族商城课程中的 vue简介小节, 巩固相关知识点