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 相关文章推荐
jQuery 行级解析读取XML文件(附源码)
Oct 12 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
Javascript实现颜色rgb与16进制转换的方法
Apr 18 Javascript
javascript实现下雪效果【实例代码】
May 03 Javascript
将List对象列表转换成JSON格式的类实现方法
Jul 04 Javascript
AngularJs  Using $location详解及示例代码
Sep 02 Javascript
轻松实现jquery选项卡切换效果
Oct 10 Javascript
原生js实现放大镜效果
Jan 11 Javascript
JS实现的简单拖拽功能示例
Mar 13 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
JavaScript代码简化技巧实例解析
Sep 09 Javascript
js实现复制粘贴的两种方法
Dec 04 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
PHP的博客ping服务代码
2012/02/04 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
完美解决JS中汉字显示乱码问题(已解决)
2006/12/27 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
在js文件中写el表达式取不到值的原因及解决方法
2013/12/23 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
Bootstrap框架动态生成Web页面文章内目录的方法
2016/05/12 Javascript
node.js发送邮件email的方法详解
2017/01/06 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
js实现详情页放大镜效果
2020/10/28 Javascript
[07:08]2014DOTA2西雅图国际邀请赛 小组赛7月11日TOPPLAY
2014/07/11 DOTA
举例讲解Python设计模式编程中的访问者与观察者模式
2016/01/26 Python
matlab中实现矩阵删除一行或一列的方法
2018/04/04 Python
Python饼状图的绘制实例
2019/01/15 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
python 日期排序的实例代码
2019/07/11 Python
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
开工仪式主持词
2014/03/20 职场文书
师德师风个人反思
2014/04/28 职场文书
四风自我剖析材料思想汇报
2014/10/01 职场文书
师德师风自查总结
2014/10/14 职场文书
三方股东合作协议书
2014/10/28 职场文书
幼儿园体操比赛口号
2015/12/25 职场文书
用python实现监控视频人数统计
2021/05/21 Python