VUE-CLI 3.0 代理问题

zclCarol 2019-03-06 06:13:22

业务场景:前后台分离 后台用的是JAVA 一开始为了解决跨域问题 使用了VUE 代理解决问题,如图:


现在遇到个情况就是 前端可能会访问多个后台服务器, 但是代理指向的是最初的那台,于是访问其他服务器的时候 跨域的问题又出现了。
通过修改后台配置 ,解决了跨域问题 。
现在我想尝试下 是否能够通过配置 vue.config 而不是修改后台JAVA代码 解决问题。
网上已经查阅了很多,都是针对开发环境和生产环境区分代理(这在启动项目的时候就指定好了),而不是多代理
另外还看到了很多proxyTable的配置,VUE-CLI 3.0基础配置似乎都封装好了,只能通过vue.config.js 修改默认配置,所以不是很清楚
proxyTable应该加在哪里

问题差不多就是这样 ,求有木有大佬知道如何解决麻烦告诉下小弟

...全文
415 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
scscms太阳光 2019-03-08
  • 打赏
  • 举报
回复
首先你要明白一点:开发时本地是使用node搭建的服务,代理也是node帮忙解决的。而上线时大部分不会再使用node当服务器(而是iis、apache、nginx等等)也就不能再用node解决代理了。此时你仍要借助别的工具来解决代理,最好还是后端来解决跨域问题。
唯有你在服务器仍采用node当服务,那么就与开发时一样处理了。

另:针对开发环境和生产环境区分代理问题,其实这只是判断当前开发模式来变化的
  devServer: {
proxy: {
'/api': {
target: process.env.NODE_ENV === 'development'?'http://开发环境':'http://非开发环境',
changeOrigin: true
}
}
}

指定模式运行npm命令:
vue-cli-service serve --mode development
丰云 2019-03-07
  • 打赏
  • 举报
回复
跨域问题的根源是浏览器的同源策略。 虽然是浏览器内部判断是否跨域,但却必须由服务端程序提供依据才能解决。 这不是前端js代理能独自解决的,必须要服务器端程序支持。

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧