详解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 相关文章推荐
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
javascript实现json页面分页实例代码
Feb 20 Javascript
PHP实现的各种中文编码转换类分享
Jan 23 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
Dec 08 Javascript
JavaScript基本语法学习教程
Jan 14 Javascript
JavaScript易错知识点整理
Dec 05 Javascript
Vue 去除路径中的#号
Apr 19 Javascript
浅谈angularJs函数的使用方法(大小写转换,拷贝,扩充对象)
Oct 08 Javascript
Element输入框带历史查询记录的实现示例
Jan 15 Javascript
javascript实现手动点赞效果
Apr 09 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
Apr 14 Javascript
基于layui内置模块(element常用元素的操作)
Sep 20 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
留言板翻页的实现详解
2006/10/09 PHP
php学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
PHP如何防止用户重复提交表单
2020/12/09 PHP
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
JavaScript各类型的关系图解
2015/10/16 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
JavaScript无阻塞加载和defer、async详解
2017/02/26 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
基于Vue 实现一个中规中矩loading组件
2019/04/03 Javascript
Vue实例的对象参数options的几个常用选项详解
2019/11/08 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
django框架使用方法详解
2019/07/18 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
2020/02/25 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
优秀党员获奖感言
2014/02/18 职场文书
新春联欢会主持词
2014/03/24 职场文书
工厂标语大全
2014/10/06 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
开除通知书范本
2015/04/25 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
师范生教育见习总结
2015/06/23 职场文书
导游词幽默开场白
2019/06/26 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python