详解vue-cli 接口代理配置


Posted in Javascript onDecember 13, 2017

本文介绍了vue-cli 接口代理配置,分享给大家,具体如下:

一些同学在配置接口代理时,会有疑问 我配置成功了为什么接口还是不通 ,其实代理已经成功 只是 接口访问地址规则没搞清楚

下面以本地测试为栗子 向大家介绍

一些基本操作这里就不介绍了

找到vue-cli config 文件夹下的 index.js  这是是配置接口规则的文件 同目录下建立 proxyConfig.js  一些同学习惯直接在原文件修改 ,也是可以但推荐使用新建文件的方式:

module.exports = {
  proxyList: {
    '/api': {
      target: 'http://localhost:3000',  (这里是代理接口的位置)
      changeOrigin: true,(允许跨域,如果这不写,调用接口接口时会有跨域错误说缺少请求头)
      pathRewrite: {'^/api': '' } (路由规则下面详细介绍)
    }
  }
}

******路由规则*******

上述代码执行之后,意思就是 只要在接口中看到‘/api‘ 会自动变成我们设置的地址,那么我们在设置的时候可以规范接口书写标准 就用到了这个属性 pathRewrite 路径重写{'^/api': '' } 是指你想让路由变成什么样子 ,如果是空 那么在解析时 如果我们的接口写的是 $http.get('/api/good') 那么在服务端我们将会看到 /good的访问,如果此时在服务端并没有相应的路由匹配,客服端就会显示报错,端口号还是客户端的端口号,所以很多同学就错觉没有起作用 ,同理如果我们设置{'^/api': '/api' } 那么在服务端将会看到/api/goods 的接口访问,意思就是不仅将/api自动解析成代理地址,还会作为服务端的路由展示。

另外在设置路由规则注意分隔符/  有些同学喜欢这样写 target: 'http://localhost:3000/', 自己写端口后面加上一个分隔符,会发现路由对不上,这时你需要在命名的时候也要加上‘/' 路由规则也要加上‘/' 接口才能对,不然 会发现请求接口的时候多了一个分隔符 如:'/api//goods'。

设置完之后,在index.js 里面 引入 proxyConfig.js,设置 proxyTable 完成设置

const proxyConfig = require('./proxyConfig')
module.exports = {
  dev: {
    env: require('./dev.env'),
    host: 'localhost',
    port: 8188,
    autoOpenBrowser: true,
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: proxyConfig.proxyList,
    cssSourceMap: false,
  }
 }

请求时 这样写

axios.get('/api/goods').then((res)=>{console.log(res.data);}}).catch((err)=>{console.log(err);}})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
比较简单实用的使用正则三种版本的js去空格处理方法
Nov 18 Javascript
javascript 命名空间以提高代码重用性
Nov 13 Javascript
JavaScript 判断浏览器类型及版本
Feb 21 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
使用JSON作为函数的参数的优缺点
Oct 27 Javascript
jquery编写日期选择器
Mar 16 Javascript
详解Vue用axios发送post请求自动set cookie
May 10 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
vue+webpack模拟后台数据的示例代码
Jul 26 Javascript
Vuex 单状态库与多模块状态库详解
Dec 11 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 #Javascript
vue.js简单配置axios的方法详解
Dec 13 #Javascript
关于Vue单页面骨架屏实践记录
Dec 13 #Javascript
JS实现利用两个队列表示一个栈的方法
Dec 13 #Javascript
node vue项目开发之前后端分离实战记录
Dec 13 #Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 #Javascript
Angularjs过滤器实现动态搜索与排序功能示例
Dec 13 #Javascript
You might like
PHP 面向对象详解
2012/09/13 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
使用Python程序抓取新浪在国内的所有IP的教程
2015/05/04 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
python 通过 socket 发送文件的实例代码
2018/08/14 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
Python实现监控Nginx配置文件的不同并发送邮件报警功能示例
2019/02/26 Python
python实现图片转字符小工具
2019/04/30 Python
python中的decimal类型转换实例详解
2019/06/26 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
Python如何进行时间处理
2020/08/06 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
Python读写Excel表格的方法
2021/03/02 Python
德国鞋子网上商店:Omoda.de
2017/03/31 全球购物
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
村委会主任先进事迹
2014/01/15 职场文书
关于爱国的标语
2014/06/24 职场文书
劳动合同变更协议书范本
2019/04/18 职场文书