关于vue.config.js的publicPath和router中new Router 里面的base参数

6 篇文章 0 订阅
2 篇文章 0 订阅

主题:关于这两个参数,往往是因为服务器中设置了子路径来访问项目才会修改,否则尽量不要去设置这两个参数啦小可爱们

1:publicPath 这个的作用是寻找css和js文件的,假设服务器用 www.baidu.com/aa/ 才能找到首页,那么这个publicPath 就设置成aa,这样服务器就用www.baidu.com/aa/static/js || css 找到对应的js和css文件。

2: base 参数(假设vue-ruoter跳转是history模式),这个的作用是在服务器使用子路径的时候能正常跳转,但最容易404就是在项目中使用了window.location.href = “/login” 的时候,但进入项目中后的的其他跳转却不会有问题,因为在项目中的跳转如果都用vue-router的跳转api,跳转就会带上base参数,而base参数会影响所有的history.pushState()调用,然后就不会出现404,但是!使用window.location.href 跳转的话就不会带上base参数,就会导致nginx出现404,而为什么项目中去登录页面往往都使用window.location.href而不是vue-ruoter的api的,因为window.location.href会刷新页面,把当前tab页内存清掉。

2-1:处理方法
2-1-1:去/login也使用vue-ruoter的api
2-1-2: 使用 window.location.href = “/aa/login” 去跳转到登录页。

扩展:为什么使用history模式在本地开发的时候不会出现刷新404的问题,而放到服务器上就会有,因为本地开发的时候,node事实上帮我们做了类似nginx的处理方案,就是所有刷新后url上发出的请求都返回首页然后才不会404,然后vue这个框架就会根据url的路径再渲染不同的页面,nginx处理方法也是同样的逻辑。关于history模式404请移步到 https://router.vuejs.org/zh/guide/essentials/history-mode.html#html5-%E6%A8%A1%E5%BC%8F

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue.config.js不会直接影响路由跳转,它是用来配置Vue的全局配置项的。但是,通过配置Vue的全局配置项,可以影响到Vue Router的行为,从而间接影响路由跳转。例如,可以通过配置Vue.config.jspublicPath选项来影响Vue Router路由的base路径。 ### 回答2: vue.config.js 对路由跳转有一定的影响。 在 Vue 项目vue.config.js 是用来配置 Vue CLI 生成的项目的配置文件。在该文件,可以通过配置不同的选项来影响项目的打包、部署和运行等方面。 具体到路由跳转,vue.config.js 可以通过配置 baseUrl 或者 publicPath 等选项来影响前端路由的路径。默认情况下,Vue Router 默认使用的是 hash 模式,在访问路由时 URL 地址会带上 # 符号后面的部分,类似于 http://example.com/#/home。 如果我们想去除 URL 的 # 符号,可以在 vue.config.js 配置 publicPath 选项为 '/',然后在 Vue Router 的配置设置 mode 为 'history',这样就可以启用 history 模式。在 history 模式下,路由跳转时 URL 地址就没有 # 符号了,类似于 http://example.com/home。 另外,vue.config.js 还可以通过配置 devServer.proxy 选项来处理跨域问题,例如将请求代理到其他的 API 服务器上,以解决前端开发过程的跨域请求问题。 总结来说,vue.config.js 可以通过配置选项来影响前端路由的跳转,包括路径的显示方式和处理跨域请求等。但对于路由的具体实现和功能,还是需要在 Vue Router 的配置进行相应的设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值