详解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 相关文章推荐
表格 隔行换色升级版
Nov 07 Javascript
移除AngularJS下URL中的#字符的方法
Jun 19 Javascript
JS实现黑客帝国文字下落效果
Sep 01 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 Javascript
使用jQuery加载html页面到指定的div实现方法
Jul 13 Javascript
javaScript基础详解
Jan 19 Javascript
angular ng-repeat数组中的数组实例
Feb 18 Javascript
js操作table中tr的顺序实现上移下移一行的效果
Nov 22 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&平移轮播效果
Aug 16 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 Javascript
Element Notification通知的实现示例
Jul 27 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
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
smarty循环嵌套用法示例分析
2016/07/19 PHP
php文件类型MIME对照表(比较全)
2016/10/07 PHP
php的4种常用运行方式详解
2016/12/22 PHP
php/JS实现的生成随机密码(验证码)功能示例
2019/06/06 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
学习jquery之一
2007/04/27 Javascript
CSS常用网站布局实例
2008/04/03 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
js实现索引图片切换效果
2015/11/21 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
Vue.js实现图片的随意拖动方法
2018/03/08 Javascript
Vue不能观察到数组length的变化
2018/06/08 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
python基于celery实现异步任务周期任务定时任务
2019/12/30 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
中文教师求职信
2014/02/22 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
2015年数学教师工作总结
2015/05/20 职场文书
企业党支部工作总结2015
2015/05/21 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS