vue 跨域问题



在这里插入图片描述

1.1 开发环境

config/index.js 修改 proxyTable,高版本 vue-cli 的项目在 根目录/vue.config.js 中修改 proxy

1.1.1 proxyTable

proxyTable: {
  // 可以有多个
  '/api': {
    target: 'http://47.103.4.205:6666/',  // 目标接口域名, 注意加 http
    changeOrigin: true,  // 是否跨域
    pathRewrite: {
      // 这里理解成用 '/api' 代替 target 里面的地址,后面组件中我们掉接口时直接用 api 代替 
      // 比如我要调用 'http://47.103.4.205:6665/user/add',直接写 '/api/user/add' 即可
      '^/api': '/'
    }
  },
},

1.1.2 使用

// '/api' 不能忘,用它来匹配
// http://localhost/api/user/add 本地项目地址就转换成 http://47.103.4.205:6666/user/add
axios.get('/api/user/add').then(res => { 
	console.log(res)
})





1.2 生产环境

  将 vue 项目打包发布后,发现之前的代理配置失效了,这是因为 vue proxy 只能在开发环境使用(很蛋疼~),我们可以使用 nginx 在完成跨域。nginx 怎么安装就不再说了,直接上配置。

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

		# 这个是重点
		location /api {
            rewrite ^.+api/?(.*)$ /$1 break;
			proxy_pass http://47.103.4.205:6666/api;
        }
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值