vue开发环境配置跨域的方法步骤


Posted in Javascript onJanuary 16, 2019

本文要实现的是:使用vue-cli搭建的项目在开发时配置跨域,上线后不做任何任何修改,接口也可以访问

production:产品 生产环境

development:开发 开发环境

1.开发环境设置跨域使用工具:

  • vue-cli自带的配置配置
  • 目录 /config/index.js

vue开发环境配置跨域的方法步骤

//自行复制黏贴
proxyTable: {
 '/apis':{
 target: 'http://10.1.63.26:19080/', // 后台api
 changeOrigin: true, //是否跨域
 // secure: true,
 pathRewrite: {
  '^/apis': '' //需要rewrite的,
 }
 }
}

注意:以上配置只有在生产环境下有效,你打包之后就不起作用了

这样就存在一个问题,你的接口都是/apis开头的,打包之后部署到服务器要去除/apis,才能正常访问后台接口,如何解决呢?

2.生产环境设置跨域

使用工具 axios 中文文档地址

思路

解决的思路是这样的:

首先,axios有一个baseURL的属性,配置了baseURL之后,你访问接口时就会自动带上

假设你vue-cli起了一个开发环境,地址为http://localhost:8080
//例1 当不设置baseURL时
axios.get('/user') //访问/user相当于访问 http://localhost:8080/user

//例2 
axios.baseURL='/apis'
axios.get('/user') //访问/user就相当于访问 http://localhost:8080/apis/user

//例3
axios.baseURL='https://sbsb.com'
axios.get('/user') //访问/user就相当于访问 https://sbsb.com/user

//例4
axios.baseURL='https://sbsb.com/apis'
axios.get('/user') //访问/user就相当于访问 https://sbsb.com/apis/user

然后我们要根据现在的环境是开发环境还是生产环境,配置不同的baseURL

//判断是否是生产环境
var isPro = process.env.NODE_ENV === 'production' //process.env.NODE_ENV用于区分是生产环境还是开发环境
//配置不同的baseURL
module.exports = {
 baseURL: isPro ? 'http://sbsb.com:8888/' : '/apis'
}

process.env.NODE_ENV用于区分是生产环境还是开发环境,这个值是webpack设置的

动手操作

假设后台api的rul是http://sbsb.com:8888/

首先在/config目录下新建一个文件,我这里叫api.config.js

写入以下代码

//判断是否是生产环境
var isPro = process.env.NODE_ENV === 'production' //process.env.NODE_ENV用于区分是生产环境还是开发环境
//根据环境不同导出不同的baseURL
module.exports = {
 baseURL: isPro ? 'http://sbsb.com:8888/' : '/apis'
}

然后,在main.js中引入axios和刚才那个文件

//main.js
import Vue from 'vue'
import axios from 'axios'
import apiConfig from '../config/api.config.js'
axios.baseURL=apiConfig.baseURL
//axios的其他配置...

这样配置之后,打包部署到服务器上也不用再手工去除/apis

如果配置过程中出现了问题,自己调试,看看访问的url正不正确

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 笔记二 Array和Date对象方法
May 22 Javascript
javascript alert乱码的解决方法
Nov 05 Javascript
实现前后端数据交互方法汇总
Apr 07 Javascript
javascript属性访问表达式用法分析
Apr 25 Javascript
js+div实现文字滚动和图片切换效果代码
Aug 27 Javascript
javascript判断网页是关闭还是刷新
Sep 12 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
Mar 08 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
详解JS函数stack size计算方法
Jun 18 Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 Javascript
laydate如何根据开始时间或者结束时间限制范围
Nov 15 Javascript
前端开发基础javaScript的六大作用
Aug 06 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 #Javascript
在Create React App中启用Sass和Less的方法示例
Jan 16 #Javascript
在Create React App中使用CSS Modules的方法示例
Jan 15 #Javascript
Vue 样式绑定的实现方法
Jan 15 #Javascript
在vue使用clipboard.js进行一键复制文本的实现示例
Jan 15 #Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
Jan 15 #Javascript
mock.js实现模拟生成假数据功能示例
Jan 15 #Javascript
You might like
windows xp下安装pear
2006/12/02 PHP
Thinkphp模板中使用自定义函数的方法
2012/09/23 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
javascript拖拽效果延伸学习
2016/04/04 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
layui 弹出层值回传解决方式
2019/11/14 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
详解Vite的新体验
2021/02/22 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
Python实现七彩蟒蛇绘制实例代码
2018/01/16 Python
详解用python生成随机数的几种方法
2019/08/04 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
Python 生成一个从0到n个数字的列表4种方法小结
2019/11/28 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
IE浏览器单独写CSS样式的几种方法
2014/10/14 HTML / CSS
有关HTML5 Video对象的ontimeupdate事件(Chrome上无效)的问题
2013/07/19 HTML / CSS
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
澳大利亚婴儿喂养品牌:Cherub Baby
2018/11/01 全球购物
校友会欢迎辞
2014/01/13 职场文书
文化活动实施方案
2014/03/28 职场文书
电子商务专业自荐信
2014/06/02 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
行政处罚事先告知书
2015/07/01 职场文书
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis