详解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 06 Javascript
静态页面下用javascript操作ACCESS数据库(读增改删)的代码
May 14 Javascript
Js冒泡事件详解及阻止示例
Mar 21 Javascript
使用Raygun对Node.js应用进行错误处理的方法
Jun 23 Javascript
详解Layer弹出层样式
Aug 21 Javascript
JS实现的简单标签点击切换功能示例
Sep 21 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
Nov 28 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
May 08 Javascript
node app 打包工具pkg的具体使用
Jan 17 Javascript
JS实现压缩上传图片base64长度功能
Dec 03 Javascript
vuex的使用步骤
Jan 06 Vue.js
在HTML5 localStorage中存储对象的示例代码
Apr 21 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
php中神奇的fastcgi_finish_request
2011/05/02 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
Yii结合CKEditor实现图片上传功能
2014/06/13 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
asp批量修改记录的代码
2008/06/25 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
js实现简易的单数字随机抽奖(0-9)
2020/03/19 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
关于JavaScript作用域你想知道的一切
2016/02/04 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
让你一句话理解闭包(简单易懂)
2016/06/03 Javascript
KnockoutJS 3.X API 第四章之表单value绑定
2016/10/10 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
React中的render何时执行过程
2018/04/13 Javascript
angular将html代码输出为内容的实例
2018/09/30 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
JavaScript类型相关的常用操作总结
2019/02/14 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
[05:17]DOTA2誓师:今天我们在这里 明天TI4等我!
2014/03/26 DOTA
对python3 中方法各种参数和返回值详解
2018/12/15 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
学雷锋志愿服务月活动总结
2014/03/09 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
明确岗位职责
2015/02/14 职场文书
物流业务员岗位职责
2015/04/03 职场文书
公司董事任命书
2015/09/21 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
受欢迎的自荐信,就这么写!
2019/04/19 职场文书