详解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 获取URL参数的插件
Mar 04 Javascript
javascript模拟的Ping效果代码 (Web Ping)
Mar 13 Javascript
5分钟理解JavaScript中this用法分享
Nov 09 Javascript
javascript根据像素点取位置示例
Jan 27 Javascript
IE8 内存泄露(内存一直增长 )的原因及解决办法
Apr 06 Javascript
jQuery中Nicescroll滚动条插件的用法
Nov 10 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
Angular.js前台传list数组由后台spring MVC接收数组示例代码
Jul 31 Javascript
Angular使用Md5加密的解决方法
Sep 16 Javascript
ajax请求data遇到的问题分析
Jan 18 Javascript
vue脚手架搭建项目的兼容性配置详解
Jul 17 Javascript
通过说明与示例了解js五种设计模式
Jun 17 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
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
php 高性能书写
2010/12/11 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
jqPlot jquery的页面图表绘制工具
2009/07/25 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
jQuery的缓存机制浅析
2014/06/07 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
详谈ES6中的迭代器(Iterator)和生成器(Generator)
2017/07/31 Javascript
实例解析ES6 Proxy使用场景介绍
2018/01/08 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
JavaScript"模拟事件"的注意要点详解
2019/02/13 Javascript
python3简单实现微信爬虫
2015/04/09 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
基于python实现把图片转换成素描
2019/11/13 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
css3使网页、图片变成灰色兼容大多数浏览器
2014/07/02 HTML / CSS
Html5原创俄罗斯方块(基于canvas)
2019/01/07 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Brora官网:英国领先的羊绒服装品牌
2019/08/28 全球购物
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
高分子材料与工程专业推荐信
2013/12/01 职场文书
教师申诉制度
2014/01/29 职场文书
移交协议书
2014/08/19 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
五好家庭申报材料
2014/12/20 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
入党申请书怎么写?
2019/06/11 职场文书