详解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 相关文章推荐
jquery下操作HTML控件的实现代码
Jan 12 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
Mar 10 Javascript
javascript错误的认识不用关心内存管理
Dec 15 Javascript
javascript中 try catch用法
Aug 16 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
Sep 16 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
vue实现表格数据的增删改查
Jul 10 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
JS异步函数队列功能实例分析
Nov 28 Javascript
vue click.stop阻止点击事件继续传播的方法
Sep 04 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
May 23 Javascript
jQuery实现轮播图效果demo
Jan 11 jQuery
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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
PHP Reflection API详解
2015/05/12 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
javascript Array对象基础知识小结
2010/11/16 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
layui实现鼠标移动到单元格上显示数据的方法
2019/09/11 Javascript
JavaScript简单编程实例学习
2020/02/14 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
[02:41]DOTA2亚洲邀请赛小组赛第三日 赛事回顾
2015/02/01 DOTA
python中合并两个文本文件并按照姓名首字母排序的例子
2014/04/25 Python
Python装饰器基础详解
2016/03/09 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
如何在Python对Excel进行读取
2020/06/04 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
使用HTML5 Canvas API中的clip()方法裁剪区域图像
2016/03/25 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
会计专业自荐信范文
2013/12/02 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
2014年群众路线教育实践活动整改措施
2014/09/24 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
《惊弓之鸟》教学反思
2016/02/20 职场文书
Spring实现内置监听器
2021/07/09 Java/Android
HTTP中的Content-type详解
2022/01/18 HTML / CSS
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle
服务器间如何实现文件共享
2022/05/20 Servers