详解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 相关文章推荐
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
Nov 20 Javascript
js实现日期级联效果
Jan 23 Javascript
JavaScript 开发工具webstrom使用指南
Dec 09 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
jQuery 3.0十大新特性
Jul 06 Javascript
AngularJS入门教程之AngularJS 模板
Aug 18 Javascript
Vue 仿百度搜索功能实现代码
Feb 16 Javascript
JS实现浏览器打印、打印预览示例
Feb 28 Javascript
node.js + socket.io 实现点对点随机匹配聊天
Jun 30 Javascript
js实现复制功能(多种方法集合)
Jan 06 Javascript
JS实现仿微信支付弹窗功能
Jun 25 Javascript
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
通过html表格发电子邮件
2006/10/09 PHP
如何在php中正确的使用json
2013/08/06 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
js中复制行和删除行的操作实例
2013/06/25 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
原生js轮播(仿慕课网)
2017/02/15 Javascript
从vue源码看props的用法
2019/01/09 Javascript
ES10 特性的完整指南小结
2019/03/04 Javascript
js图片无缝滚动插件使用详解
2020/05/26 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
uni-app如何实现增量更新功能
2020/01/03 Javascript
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
python函数参数*args**kwargs用法实例
2013/12/04 Python
Python科学计算之Pandas详解
2017/01/15 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Sublime开发python程序的示例代码
2018/01/24 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
django主动抛出403异常的方法详解
2019/01/04 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
详解python内置模块urllib
2020/09/09 Python
Python requests HTTP验证登录实现流程
2020/11/05 Python
财务会计专业毕业生自荐信
2013/10/02 职场文书
安全员岗位职责
2013/11/11 职场文书
自我推荐信格式模板
2015/03/24 职场文书
部门经理助理岗位职责
2015/04/13 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
公证书
2019/04/17 职场文书
Python自动化实战之接口请求的实现
2022/05/30 Python