详解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 相关文章推荐
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
突发奇想的一个jquery插件
Nov 19 Javascript
jquery文字上下滚动的实现方法
Mar 22 Javascript
下拉菜单点击实现连接跳转功能的js代码
May 19 Javascript
js判断上传文件类型判断FileUpload文件类型代码
May 20 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
Aug 24 Javascript
Avalon中文长字符截取、关键字符隐藏、自定义过滤器
May 18 Javascript
浅析jQuery中使用$所引发的问题
May 29 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
详解Sea.js中Module.exports和exports的区别
Feb 12 Javascript
Angular之指令Directive用法详解
Mar 01 Javascript
JavaScript中附件预览功能实现详解(推荐)
Aug 15 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
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP 地址栏信息的获取代码
2009/01/07 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
PHP实现Markdown文章上传到七牛图床的实例内容
2020/02/11 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
JavaScript类库D
2010/10/24 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
JavaScript事件委托技术实例分析
2015/02/06 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
JavaScript定义函数_动力节点Java学院整理
2017/06/27 Javascript
js微信分享实现代码
2020/10/11 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
在Python中编写数据库模块的教程
2015/04/29 Python
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python 将有序数组转换为二叉树的方法
2019/03/26 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
const char*, char const*, char*const的区别是什么
2014/07/09 面试题
4S店售后客服自我评价
2014/04/09 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
校庆团日活动总结
2014/08/28 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
食品药品安全责任书
2015/05/11 职场文书
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang
SQL Server中锁的用法
2022/05/20 SQL Server