详解基于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 相关文章推荐
JavaScript的类型简单说明
Sep 03 Javascript
Javascript call和apply区别及使用方法
Nov 14 Javascript
7个有用的jQuery代码片段分享
May 19 Javascript
jQuery实现自动调整字体大小的方法
Jun 15 Javascript
jquery编写日期选择器
Mar 16 Javascript
vue.js 中使用(...)运算符报错的解决方法
Aug 09 Javascript
vue forEach循环数组拿到自己想要的数据方法
Sep 21 Javascript
iview在vue-cli3如何按需加载的方法
Oct 31 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
Jan 18 jQuery
vue自定义标签和单页面多路由的实现代码
May 03 Javascript
用几道面试题来看JavaScript执行机制
Apr 30 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
DedeCms模板安装/制作概述
2007/03/11 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
初探jquery——表单应用范例
2007/02/20 Javascript
js获取div高度的代码
2008/08/09 Javascript
jQuery EasyUI API 中文文档 - ProgressBar 进度条
2011/09/29 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
javascript进行四舍五入方法汇总
2014/12/16 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
关于vue里页面的缓存详解
2019/11/04 Javascript
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
python使用fileinput模块实现逐行读取文件的方法
2015/04/29 Python
python正则表达式及使用正则表达式的例子
2018/01/22 Python
Python----数据预处理代码实例
2019/03/20 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
python 基于PYMYSQL使用MYSQL数据库
2020/12/24 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
购买原创艺术品:Zatista
2019/11/09 全球购物
测绘工程本科生求职信
2013/10/10 职场文书
法律专业推荐信范文
2013/11/29 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
小学生读书活动总结
2014/06/30 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
维稳承诺书
2015/01/20 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
CSS filter 有什么神奇用途
2021/05/25 HTML / CSS
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
2022漫威和DC电影上映作品
2022/04/05 欧美动漫