详解基于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 相关文章推荐
jquery选择checked在ie8普通模式下的问题
Feb 12 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
May 07 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
基于BootStrap的Metronic框架实现页面链接收藏夹功能按钮移动收藏记录(使用Sortable进行拖动排序)
Aug 29 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
Sep 01 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
Dec 14 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
Webpack框架核心概念(知识点整理)
Dec 22 Javascript
浅谈Postman解决token传参的问题
Mar 31 Javascript
详解vue项目中使用token的身份验证的简单实践
Mar 08 Javascript
JS原型对象操作实例分析
Jun 06 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 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
从手册去理解分析PHP session机制
2011/07/17 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
2018/02/03 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
vue input 输入校验字母数字组合且长度小于30的实现代码
2018/05/16 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法
2019/12/12 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
Python文件和目录操作详解
2015/02/08 Python
Python中协程用法代码详解
2018/02/10 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
pyinstaller打包程序exe踩过的坑
2019/11/19 Python
Python读取表格类型文件代码实例
2020/02/17 Python
Python编写万花尺图案实例
2021/01/03 Python
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
2014年司法局工作总结
2014/12/11 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
小学班长竞选稿
2015/11/20 职场文书
2019各种保证书范文
2019/06/24 职场文书