最新消息:因从typecho切换到wordpress, 由于转换导入问题,文章可能存在部分乱码或者排版问题,逐个排查修复中...

Vue 跨域使用代理的问题

Vue admin 949浏览 0评论

由于我学习Vue没有走系统化的路线。需要什么就学什么。--没办法,时间紧凑,实用主义。

在开发时,有调用别处的API,为避免跨域的问题。使用了Vue提供的代理的方式。(属于webpack还是属于Vue的?有待理解清楚)

但在查找的资料中,发现有的会说在config/index.js, 有的却说是/vue.config.js

本着追根究底的原则,于是特地把它了解清楚。其实是因为版本的问题。

如果是 vue-cli2 , 位置在 config/index.js ,如果是 vue-cli3 位置在 根目录/vue.config.js(如果没有新建即可)

vue-cli 是个脚手架,脚手架这玩意,是好东西又是坏东西。好的方面,它可能让开发者在某些程度上省事了许多。但坏的方面,是对于需要学习原理性的初学者来说。它帮你隐藏了很多原本该知道的东西。

摘抄几个来自知乎的关于Vue-cli和webpack的关系:

官方自己的解释:基于 webpack 构建,并带有合理的默认配置;

vue-cli和webpack是什么关系:vue-cli 里面包含了webpack, 并且配置好了基本的webpack打包规则

现在遇到的问题是,因为使用了代理转发API请求,开发模式下调试的好好的,经过打包发布后,却无法访问api了。这是为什么呢?经过了解,明白了原因,因为本地开发模式时,它使用了Webpack的dev server,可以本地接受请求并进行转发(相当于有个中间件在那干活了)。而打包成静态页面后,不可能还有同样的环境给你做转发的事情。

那么肿么办呢?所幸,还有Nginx,不是吗?正式环境使用了Nginx来响应客户端的Web请求。而Nginx 这个玩意扮演了反向代理的角色。让它做这种转发的事情,易如反掌。因为我用的是宝塔面板,后台管理页面直接自带了设置界面。

Nginx反向代理设置

如上设置,即可成功将相关请求转发到对应的后端服务去。

转载请注明:Linc Hu » Vue 跨域使用代理的问题

与本文相关的文章

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址