详解vue-cli本地环境API代理设置和解决跨域


Posted in Javascript onSeptember 05, 2017

前言

我们在使用vue-cli启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以localhost:8080来请求接口数据的,localhost是没有办法设置cookie的。

我们可以在vue-cli配置文件里面设置一个代理,跨域的方法有很多,通常需要后台来进行配置。我们可以直接通过node.js代理服务器来实现跨域请求。

vue proxyTable接口跨域请求调试

在vue-cli项目中的config文件夹下的index.js配置文件中,dev长这样子:

dev: {
  env: require('./dev.env'),
  port: 8080,
  autoOpenBrowser: true,
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: {},  
  cssSourceMap: false
 }

服务器提供的接口如果长这样https://www.exaple.com/server_new/login,我们把域名提取出来如https://www.exaple.com;

在config中新建一个文件命名为proxyConfig.js :

module.exports = {
 proxy: {
    '/apis': {  //将www.exaple.com印射为/apis
      target: 'https://www.exaple.com', // 接口域名
      changeOrigin: true, //是否跨域
      pathRewrite: {
        '^/apis': ''  //需要rewrite的,
      }       
    }
 }
}

config文件夹下的index.js引入proxyConfig.js:

var proxyConfig = require('./proxyConfig')

config文件夹下的index.js中的dev改成:

dev: {
  env: require('./dev.env'),
  port: 8080,
  autoOpenBrowser: true,
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: proxyConfig.proxy,
  cssSourceMap: false
 }

重启项目npm run dev:

你会发现出现了这个

详解vue-cli本地环境API代理设置和解决跨域 

这个时候我们已经设置好了本地API代理了

修改本地hosts文件

文件路径一般是C:\Window\System32\drivers\etc,打开hosts文件,在这一段下面把localhost设置进去

# localhost name resolution is handled within DNS itself.
# 127.0.0.1    localhost
# ::1       localhost
127.0.0.1          activate.adobe.com
127.0.0.1          practivate.adobe.com
127.0.0.1          lmlicenses.wip4.adobe.com
127.0.0.1          lm.licenses.adobe.com
127.0.0.1          na1r.services.adobe.com
127.0.0.1          hlrcv.stage.adobe.com

localhost          www.exaple.com

搞定

此时我们已经完全解决了跨域问题,以及本地测试后台无法向我们本地环境设置cookie的情况了。

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

Javascript 相关文章推荐
背景音乐每次刷新都可以自动更换
Feb 01 Javascript
用jquery来定位
Feb 20 Javascript
基于jquery的让textarea自适应高度的插件
Aug 03 Javascript
基于javascript的COOkie的操作实现只能点一次
Dec 26 Javascript
jquery获取当前日期的方法
Jan 14 Javascript
jQuery 回调函数(callback)的使用和基础
Feb 26 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
微信小程序云开发(数据库)详解
May 17 Javascript
js中apply和call的理解与使用方法
Nov 27 Javascript
javascript实现拖拽碰撞检测
Mar 12 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 #Javascript
浅谈Vue.js中的v-on(事件处理)
Sep 05 #Javascript
Angular实现下载安装包的功能代码分享
Sep 05 #Javascript
简单谈谈关于Angular Cli打包的事
Sep 05 #Javascript
Vue学习笔记之表单输入控件绑定
Sep 05 #Javascript
zTree异步加载展开第一级节点的实现方法
Sep 05 #Javascript
纯js实现画一棵树的示例
Sep 05 #Javascript
You might like
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
火车采集器 免费版使出收费版本功能实现原理
2009/09/17 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
JavaScript显示当前文档最后修改日期的方法
2015/03/19 Javascript
php常见的页面跳转方法汇总
2015/04/15 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
node.js中axios使用心得总结
2017/11/29 Javascript
Vue中this.$router.push参数获取方法
2018/02/27 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python实现全局变量的两个解决方法
2014/07/03 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
解决pandas无法在pycharm中使用plot()方法显示图像的问题
2018/05/24 Python
python图的深度优先和广度优先算法实例分析
2019/10/26 Python
Django中提示消息messages的设置方式
2019/11/15 Python
CSS3 伪类选择器 nth-child()说明
2010/07/10 HTML / CSS
HTML5中drawImage用法分析
2014/12/01 HTML / CSS
寻找迷宫的一条出路,o通路;X:障碍
2016/07/10 面试题
大学生的网上创业计划书
2013/12/31 职场文书
网络工程师专家职业发展路线
2014/02/14 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
关于责任的演讲稿
2014/05/20 职场文书
车辆转让协议书
2014/09/24 职场文书
先进工作者推荐材料
2014/12/23 职场文书
保证书格式
2015/01/16 职场文书
科技活动总结范文
2015/05/11 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
使用Oracle跟踪文件的问题详解
2021/06/28 Oracle
Python基本知识点总结
2022/04/07 Python