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 相关文章推荐
js post方式传递提交的实现代码
May 31 Javascript
基于jquery tab切换(防止页面刷新)
May 23 Javascript
VS2008中使用JavaScript调用WebServices
Dec 18 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
Jun 20 Javascript
Avalonjs 实现简单购物车功能(实例代码)
Feb 07 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
jQuery表单设置值的方法
Jun 30 jQuery
Bootstrap-table使用footerFormatter做统计列功能
Sep 07 Javascript
angular学习之动态创建表单的方法
Dec 07 Javascript
微信小程序新手教程之页面打开数量限制
Mar 03 Javascript
uni-app如何实现增量更新功能
Jan 03 Javascript
es6函数中的作用域实例分析
Apr 18 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
php 中的closure用法详解
2017/06/12 PHP
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
2014/09/10 Javascript
node.js 动态执行脚本
2016/06/02 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
Vue通过ref父子组件拿值方法
2018/09/12 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
JavaScript Tab菜单实现过程解析
2020/05/13 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
[48:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第二场 1月29日
2021/03/11 DOTA
Python遍历指定文件及文件夹的方法
2015/05/09 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
pandas带有重复索引操作方法
2018/06/08 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
详解Python 中的容器 collections
2020/08/17 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
英国首屈一指的票务公司:See Tickets
2019/05/11 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
广告业务员岗位职责
2014/02/06 职场文书
单位推荐信范文
2015/03/27 职场文书