vue-cli配置反向代理解决跨域及过程理解

vue-cli配置反向代理

vue-cli提供了配置反向代理的接口,即设置config/index.js中的proxyTable。配置如下:

dev: {
	......
	
	proxyTable: {
      '/api':{     //将www.exaple.com印射为/apis
        target:'https://www.exaple.com',     //跨域地址
        changeOrigin:true,       //是否跨域
        secure:false,        //是否使用https
        pathRewrite: {
          '^/api': '/api'       //匹配以/api为开头的请求地址,并使用/api替换
        }
      }
    }
}

在组件中调用接口示例(axios):

import axios from 'axios'

axios({
	method:'post',
	url:'/api/login',
	data:{
		username:'qwe',
		password:123456
	}
}).then();

上述示例请求的地址会被解析为https://www.exaple.com/api/login。如果proxyTablepathRewrite配置为空,则请求的地址被解析为https://www.exaple.com/login

以上配置只是在开发环境(dev)中解决跨域。要解决生产环境的跨域问题,则在config/dev.env.jsconfig/prod.env.js里也就是开发/生产环境下分别配置一下请求的地址API_HOST,开发环境中我们用上面配置的代理地址api,生产环境下用正常的接口地址。配置代码如下:

module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',     //开发环境
  API_HOST:"/api/"
})
module.exports = {
  NODE_ENV: '"production"',      //生产环境
  API_HOST:'"http://40.00.100.100:3002/"'
}
对反向代理解决跨域过程的理解

请求示例

如图,浏览器中请求的urlhttp://localhost:8081/api/portal/order/queryOrderRow?orderNumber=4015
我实际请求的urlhttp://localhost:8080/portal/order/queryOrderRow?orderNumber=4015
本地项目通过http://localhost:8081/#/在浏览器中进行访问。

通过伪造请求使得http请求为同源的,然后将同源的请求发送到反向代理服务器上,由反向代理服务器去请求真正的url,这样就绕过直接请求真正的url导致跨域问题。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Vue项目中配置反向代理,首先需要使用Vue CLI进行打包。Vue CLI是一个用于快速搭建Vue项目的工具,它提供了一些默认的配置文件和命令。以下是步骤: 1. 安装Vue CLI:通过npm全局安装Vue CLI的最新版本,命令是 `npm install -g @vue/cli` 2. 创建Vue项目:使用Vue CLI创建一个新的Vue项目,命令是 `vue create project-name`,其中project-name是你想要给项目起的名字。 3. 安装依赖:进入项目目录,运行 `npm install` 安装项目所需的依赖包。 4. 配置反向代理:在项目根目录中找到vue.config.js文件,如果没有就手动创建一个。在vue.config.js文件中添加以下代码: ```javascript module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:3000', // 目标服务器地址 ws: true, changeOrigin: true }, '/foo': { target: 'http://localhost:8080', ws: true, changeOrigin: true } } } } ``` 上述配置的意义是将以`/api`开头的请求代理到`http://localhost:3000`上,将以`/foo`开头的请求代理到`http://localhost:8080`上。你可以根据实际需求调整配置。 5. 重新启动项目:运行`npm run serve`重新启动项目,在开发环境中进行测试,代理请求会被转发到目标服务器。 6. 打包上线:当项目开发完成后,可以通过运行`npm run build`来进行项目打包。打包完成后,将生成的dist目录中的文件部署到服务器上即可实现项目的上线。 以上就是使用Vue CLI配置反向代理的步骤。通过反向代理,我们可以在开发环境中轻松模拟后端接口,便于前端开发与后端接口的对接工作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值