详解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 相关文章推荐
JavaScript学习笔记(二) js对象
Oct 25 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
Apr 17 Javascript
Jquery弹出层插件ThickBox的使用方法
Dec 09 Javascript
浅谈下拉菜单中的Option对象
May 10 Javascript
JS+CSS简单树形菜单实现方法
Sep 12 Javascript
javascript常用经典算法实例详解
Nov 25 Javascript
jQuery解决浏览器兼容性问题案例分析
Apr 15 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
Vue.js实战之利用vue-router实现跳转页面
Apr 01 Javascript
vue.js简单配置axios的方法详解
Dec 13 Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 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建立Ftp连接的方法
2015/03/07 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
php版微信公众平台开发之验证步骤实例详解
2016/09/23 PHP
PHP仿微信发红包领红包效果
2016/10/30 PHP
使用angular写一个hello world
2015/01/23 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
通过封装scroll.js 获取滚动条的值
2018/07/13 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
微信小程序性能优化之checkSession的使用
2019/03/06 Javascript
JS阻止事件冒泡的方法详解
2019/08/26 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
Python 解析XML文件
2009/04/15 Python
Python根据成绩分析系统浅析
2019/02/11 Python
简单了解django索引的相关知识
2019/07/17 Python
Jdbc数据访问技术面试题
2012/03/30 面试题
仓库管理制度
2014/01/21 职场文书
《颐和园》教学反思
2014/02/26 职场文书
如何写一份好的英文求职信
2014/03/19 职场文书
职业生涯规划书结束语
2014/04/15 职场文书
小学校长汇报材料
2014/08/20 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
合伙经营协议书范本
2014/09/13 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
代理词怎么写
2015/05/25 职场文书
律政俏佳人观后感
2015/06/09 职场文书
Go语言使用select{}阻塞main函数介绍
2021/04/25 Golang
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
Python3 类型标注支持操作
2021/06/02 Python
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
详解CSS3浏览器兼容
2022/12/24 HTML / CSS