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 animate图片模向滑动示例代码
Jan 26 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
May 23 Javascript
js文件Cookie存取值示例代码
Feb 20 Javascript
JS实现文字向下滚动完整实例
Feb 06 Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
Oct 31 Javascript
基于jquery实现动态竖向柱状条特效
Feb 12 Javascript
AngularJS控制器详解及示例代码
Aug 16 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
Vue实现自定义下拉菜单功能
Jul 16 Javascript
vue中引入mxGraph的步骤详解
May 17 Javascript
vue实现固定位置显示功能
May 30 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
Sep 10 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
解决phpmyadmin 乱码,支持gb2312和utf-8
2006/11/20 PHP
php 模拟POST|GET操作实现代码
2010/07/20 PHP
PHP中的类型约束介绍
2015/05/11 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
js+html5实现canvas绘制圆形图案的方法
2015/06/05 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
JS+CSS实现简易的滑动门效果代码
2015/09/24 Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
2016/01/25 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
常用python数据类型转换函数总结
2014/03/11 Python
python服务器端收发请求的实现代码
2014/09/29 Python
用Python解析XML的几种常见方法的介绍
2015/04/09 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
python中模块的__all__属性详解
2017/10/26 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Django项目之Elasticsearch搜索引擎的实例
2019/08/21 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
python openpyxl模块的使用详解
2021/02/25 Python
html5启动原生APP总结
2020/07/03 HTML / CSS
应届生求职信范文
2014/06/30 职场文书
初中同学会活动方案
2014/08/22 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技