详解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 相关文章推荐
ExtJS 2.0实用简明教程 之获得ExtJS
Apr 29 Javascript
JavaScript中判断函数是new还是()调用的区别说明
Apr 07 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
Jun 26 Javascript
Linux下使用jq友好的打印JSON技巧分享
Nov 18 Javascript
jQuery中andSelf()方法用法实例
Jan 08 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
利用VUE框架,实现列表分页功能示例代码
Jan 12 Javascript
js获取隐藏元素的宽高
Feb 24 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
Mar 09 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 jQuery
webpack-dev-server自动更新页面方法
Feb 22 Javascript
jQuery实现的分页插件完整示例
May 26 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
php预定义常量
2006/12/25 PHP
php使用qr生成二维码的示例分享
2014/01/20 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
Js中sort()方法的用法
2006/11/04 Javascript
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
js写一个字符串转成驼峰的实例
2013/06/21 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
Vue实现push数组并删除的例子
2019/11/01 Javascript
python实现迭代法求方程组的根过程解析
2019/11/25 Javascript
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
Python计算字符宽度的方法
2016/06/14 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
python构造函数init实例方法解析
2020/01/19 Python
Tensorflow累加的实现案例
2020/02/05 Python
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
LUISAVIAROMA德国官网:时尚奢侈品牌购物网站
2020/11/12 全球购物
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
食品厂厂长岗位职责
2014/01/30 职场文书
《石榴》教学反思
2014/03/02 职场文书
大学专科求职信
2014/07/02 职场文书
幼儿园教师自荐书
2015/03/06 职场文书
开除员工通知
2015/04/22 职场文书
《山中访友》教学反思
2016/02/24 职场文书
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
python识别围棋定位棋盘位置
2021/07/26 Python