欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

webpack之proxyTable设置跨域----vue

程序员文章站 2022-06-18 11:27:10
...

      现在的公司是前后端分离开发,这样不可避免会遇到一个问题-------跨域。之前在用jq开发的时候都是让后台加Access-Control-Allow-Origin:*。但是即使是这样,浏览器请求的时候还是会有两个请求,一个option,一个真正的post/get请求,真的很烦。接触了angular和vue以后才知道可以用代理来处理。

在项目中,可以看到config/index.js文件中,dev下面的proxyTable为空:

webpack之proxyTable设置跨域----vue

 更改为:

 proxyTable: {
    '/api': {
      target: 'http://www.abc.com',  //目标接口域名
      changeOrigin: true,  //是否跨域
      secure: false, // 允许https请求      
      pathRewrite: {
        '^/api': '/api'   //重写接口
      }
    }

更改这个文件,npm是不会自动更新的,所以这会去调接口会报404。把现在的进程停掉,重新npm run dev一下再去调接口就好了。

proxyTable配置的意思为:使用字符串"/api"来代替目标接口域名;如果接口地址为"user/getUserInfo",我们可以在所有的接口地址前面加上"/api/"用于设置代理;如:

'http://localhost:8080/api/user/getUserInfo' ===> 'http://www.abc.com/api/user/getUserInfo'

如果你不想每次请求地址中都带有"/api/",则可以设置

 pathRewrite: {
    '^/api': ''   // 后面可以使重写的新路径,一般不做更改
 }

表现结果为:

'http://localhost:8080/api/user/getUserInfo' ===> 'http://www.abc.com/user/getUserInfo'

 

相关标签: proxy