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 相关文章推荐
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
Dec 31 Javascript
基于jQuery实现复选框的全选 全不选 反选功能
Nov 24 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
聊一聊JavaScript作用域和作用域链
May 03 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 Javascript
jQuery初级教程之网站品牌列表效果
Aug 02 jQuery
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
Oct 24 Javascript
JS文件中加载jquery.js的实例代码
May 05 jQuery
webstorm+vue初始化项目的方法
Oct 18 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 30 Javascript
JavaScript实现随机点名小程序
Oct 29 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中基本符号及使用方法
2010/03/23 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
判断一个对象是否为jquery对象的方法
2014/03/12 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
jquery html动态添加的元素绑定事件详解
2016/05/24 Javascript
vue实现移动端图片裁剪上传功能
2020/08/18 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
Python实现身份证号码解析
2015/09/01 Python
Python实现PS图像调整黑白效果示例
2018/01/25 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
利用python制作拼图小游戏的全过程
2020/12/04 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
携程英文网站:Trip.com
2017/02/07 全球购物
数控专业毕业生自荐信范文
2014/03/04 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
岗位说明书标准范本
2014/07/30 职场文书
2014年小学生教师节演讲稿范文
2014/09/10 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
创先争优演讲稿
2014/09/15 职场文书
教育实习指导教师评语
2014/12/31 职场文书
入党团支部推荐意见
2015/06/02 职场文书
班干部学习委员竞选稿
2015/11/20 职场文书
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript