前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue 跨域问题

vue 跨域问题

作者头像
Demo_Null
发布2020-09-28 14:47:54
5850
发布2020-09-28 14:47:54
举报
文章被收录于专栏:Java 学习Java 学习
在这里插入图片描述
在这里插入图片描述

1.1 开发环境

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

1.1.1 proxyTable

代码语言:javascript
复制
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 使用

代码语言:javascript
复制
// '/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 怎么安装就不再说了,直接上配置。

代码语言:javascript
复制
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;
        }
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-07-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 开发环境
    • 1.1.1 proxyTable
      • 1.1.2 使用
      • 1.2 生产环境
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档