详解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方法toggleClass实现隔行换色
Oct 22 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
Jun 09 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
getElementById().innerHTML与getElementById().value的区别
Oct 27 Javascript
Vue实战之vue登录验证的实现代码
Oct 31 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
axios+Vue实现上传文件显示进度功能
Apr 14 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
JS实现扫码枪扫描二维码功能
Jan 03 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
Jun 05 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实现的获取URL信息的类
2007/01/02 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
JavaScript使用concat连接数组的方法
2015/04/06 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
vue实现可增删查改的成绩单
2016/10/27 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
Vue实现底部侧边工具栏的实例代码
2018/09/03 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
JavaScript中的ES6 Proxy的具体使用
2019/06/16 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
vue用elementui写form表单时,在label里添加空格操作
2020/08/13 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python中删除文件的程序代码
2011/03/13 Python
python cookielib 登录人人网的实现代码
2012/12/19 Python
在Python中处理字符串之isdecimal()方法的使用
2015/05/20 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
护士岗前培训自我评鉴
2014/02/28 职场文书
培训班通知
2015/04/25 职场文书
重阳节主题班会
2015/08/17 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript