前端面试必备:路由守卫、跨域解决方案与Token管理

需积分: 0 0 下载量 183 浏览量 更新于2024-08-04 收藏 60KB MD 举报
"前端面试题集锦,包括路由守卫、跨域解决方案、后置路由守卫处理以及Token过期处理等核心知识点。" 在前端开发中,面试时经常涉及的关键技术点涵盖了一些核心概念,如路由管理、跨域通信以及用户认证。以下是这些知识点的详细说明: 1. **前置路由守卫(登陆拦截)** 前置路由守卫,如`router.beforeEach`,是Vue Router提供的一种机制,用于在页面组件进入浏览器渲染视图之前进行权限检查。其三个参数`to`、`from`和`next`分别代表目标路由、来源路由和决定是否继续导航的函数。主要目的是确保只有持有效token的用户才能访问受保护的页面。如果用户有token,可以正常访问;如果没有token,访问特定页面会被重定向到登录页。 2. **跨域解决方案** - **jsonp**:通过动态创建`<script>`标签,利用其`src`属性不受同源策略限制,由后端配合处理回调函数来实现跨域。 - **CORS**:跨源资源共享,前端需要后端设置响应头,允许跨域请求。浏览器先发送`OPTIONS`预检请求,确认服务器允许后再发送实际请求。 - **反向代理**:如使用webpack的proxy配置,本地起一个服务器作为代理,转发请求到目标服务器,从而避免跨域问题。生产环境中,后端可以通过CORS或使用nginx、node中间件代理来处理跨域。 3. **后置路由守卫** 后置路由守卫`router.afterEach`,不包含在导航守卫队列中,没有迭代的`next`函数。它通常用于完成页面加载后的操作,如关闭加载进度条。 4. **Token过期处理** 当`axios`的响应拦截器检测到返回的状态码为401或其他特定业务状态码时,表示Token可能已过期,此时通常会将用户重定向到登录页。对于服务器返回的400和500系列错误,应进行统一错误处理。 5. **单点登录(Single Sign-On, SSO)** 单点登录是一种让用户在多个应用系统中只登录一次就能访问所有相互信任的应用系统的技术。在前端,这通常涉及到与后端的交互,如获取和验证全局的认证信息,以及处理用户在不同应用之间的切换。 理解并掌握这些核心知识点对于前端开发者来说至关重要,它们不仅出现在面试中,也是实际项目开发中的常用技术。在准备面试或者日常工作中,深入理解并实践这些概念能提升开发者的能力和项目质量。