详解基于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框架
Aug 13 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
Jan 08 Javascript
yepnope.js 异步加载资源文件
Sep 08 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
AngularJS实现Model缓存的方式
Feb 03 Javascript
jQuery 获取跨域XML(RSS)数据的相关总结分析
May 18 Javascript
从0开始学Vue
Oct 27 Javascript
获取jqGrid中选择的行的数据
Nov 30 Javascript
axios基本入门用法教程
Mar 25 Javascript
js实现购物车功能
Jun 12 Javascript
vue移动端弹起蒙层滑动禁止底部滑动操作
Jul 22 Javascript
JQuery Ajax如何实现注册检测用户名
Sep 25 jQuery
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
PHP会话控制实例分析
2016/12/24 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
项目实践之javascript技巧
2007/12/06 Javascript
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
AngularJS基础 ng-keydown 指令简单示例
2016/08/02 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
Linux下使用python自动修改本机网关代码分享
2015/05/21 Python
django框架如何集成celery进行开发
2017/05/24 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python序列化pickle模块使用详解
2020/03/05 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
2020/11/11 Python
html5 自定义播放器核心代码
2013/12/20 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
满月酒答谢词
2014/01/14 职场文书
工作说明书范文
2014/05/07 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
指导教师推荐意见
2015/06/05 职场文书
委托收款证明
2015/06/23 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电
Win11使用CAD卡顿或者致命错误怎么办?Win11无法正常使用CAD的解决方法
2022/07/23 数码科技