详解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 相关文章推荐
Ucren Virtual Desktop V2.0
Nov 07 Javascript
Javascript----文件操作
Jan 18 Javascript
Jquery Ajax.ashx 高效分页实现代码
Oct 20 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
Dec 16 Javascript
javascript修改图片src的方法
Jan 27 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
适用于手机端的jQuery图片滑块动画
Dec 09 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
Jul 17 jQuery
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
如何利用ES6进行Promise封装总结
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写的serv-u的web申请账号的程序
2006/10/09 PHP
php读取纯真ip数据库使用示例
2014/01/26 PHP
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
jquery删除数据记录时的弹出提示效果
2014/05/06 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询
2016/10/30 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
webpack打包非模块化js的方法
2018/10/24 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
[02:23]2016国际邀请赛中国区预选赛wings晋级之路
2016/06/29 DOTA
Python求导数的方法
2015/05/09 Python
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
python实现媒体播放器功能
2018/02/11 Python
从运行效率与开发效率比较Python和C++
2018/12/14 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
2020/03/06 Python
python requests.get带header
2020/05/05 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
活动邀请函范文
2014/01/19 职场文书
关于车尾的标语大全
2015/08/11 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
浅谈怎么给Python添加类型标注
2021/06/08 Python
日元符号 ¥
2022/02/17 杂记
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python