详解基于Vue-cli搭建的项目如何和后台交互


Posted in Javascript onJune 29, 2018

这段时间在折腾有vue做开发,之前也用过,但是大部分都是用一些简单的数据绑定。踏了很多坑,总结了一下,希望对刚刚开始折腾的小伙伴有帮助。

常见问题一:用vue-cli搭好环境以后,本地域名和测试环境的域名不一致,怎么跨域访问后台接口?

在config目录下找到index.js,在dev下添加如下:

proxyTable: {
  '/api':{//指定以/api开头的接口都走代理
   target:'https://yhhdtest.moguyun.com',//需要连接后台接口的域名
   changeOrigin:true,//支持跨域
   pathRewrite:{
    '/api':''
   }
  }
 },

以上的配置其实是dev-server 使用了非常强大的 http-proxy-middleware 包。更多高级用法,请查阅其文档。

请求/api/getGame实际发出去的请求是 https://yhhdtest.moguyun.com/getGame

配置一个适用于本地和生产环境的后台请求

按照上面的配置好以后,本地环境可以成功的跨域和后台交互了。但是每个接口前面都要加一个原本不需要的/api前缀,这个其实和我们生产是不符合的。这个时候需要我们做一些配置,通过编译来区分。

在index.js下分别找到dev和prod(有的项目可能直接抽出来,单独成文件了)

dev.env.js

module.exports = merge(prodEnv, {
 NODE_ENV: '"development"',
 API_HOST:'"/api/"'
})

prod.env.js

module.exports = {
 NODE_ENV: '"production"',
 API_HOST:'""'
}

关键点在于API_HOST,这个时候我们的请求可以这么写

process.env.API_HOST+'/getGame'

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
用jquery写的一个万年历(自写)
Jan 20 Javascript
JavaScript的RequireJS库入门指南
Jul 01 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
Jul 18 Javascript
node.js中module.exports与exports用法上的区别
Sep 02 Javascript
再谈javascript注入 黑客必备!
Sep 14 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
Oct 28 Javascript
在vue中,v-for的索引index在html中的使用方法
Mar 06 Javascript
详解Angular中实现自定义组件的双向绑定的两种方法
Nov 23 Javascript
JavaScript实现随机五位数验证码
Sep 27 Javascript
JS如何实现手机端输入验证码效果
May 13 Javascript
js面向对象方式实现拖拽效果
Mar 03 Javascript
jQuery实现模糊搜索功能的方法分析
Jun 29 #jQuery
微信小程序中进行地图导航功能的实现方法
Jun 29 #Javascript
Vue表单demo v-model双向绑定问题
Jun 29 #Javascript
vue底部加载更多的实例代码
Jun 29 #Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
Jun 29 #Javascript
vue项目打包后打开页面空白解决办法
Jun 29 #Javascript
详解Vue webapp项目通过HBulider打包原生APP
Jun 29 #Javascript
You might like
PHPShop存在多个安全漏洞
2006/10/09 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
Bootstrap选项卡学习笔记分享
2017/02/13 Javascript
解决给dom元素绑定click等事件无效问题的方法
2017/02/17 Javascript
使用Vue调取接口,并渲染数据的示例代码
2019/10/28 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
Django如何自定义分页
2018/09/25 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
python 图片去噪的方法示例
2019/07/09 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
Selenium向iframe富文本框输入内容过程图解
2020/04/10 Python
带你学习Python如何实现回归树模型
2020/07/16 Python
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
环保建议书500字
2014/05/14 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
2014最新股权信托合同协议书
2014/11/18 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
大客户经理岗位职责
2015/04/09 职场文书
同学聚会祝酒词
2015/08/10 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
java泛型通配符详解
2021/07/25 Java/Android
利用Python读取微信朋友圈的多种方法总结
2021/08/23 Python
mysql函数全面总结
2021/11/11 MySQL
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js