基于Vue和React脚手架演示各自项目的接口代理和数据Mock.

Vue接口代理实现步骤

vue中文官方文档:https://cn.vuejs.org/

vue-cli中文官方文档:https://cli.vuejs.org/zh/

Vue4.0脚手架安装(全局安装,不要安装vue-cli)

npm install -g @vue/cli# ORyarn global add @vue/cli

Vue项目创建

vue create my-project# 或者启动ui系统来创建项目(不推荐,作用不大)vue ui

注:Vue-Cli4.0创建的项目,隐藏了webpack配置信息。

安装必要插件

# axios发请求 , mockjs做数据mockcnpm install axios mockjs --save # OR (下面是语法的简写)cnpm i axios mockjs -S

代码编写

# App.vue添加请求import axios from 'axios'export default {  name: 'App',  data(){    return {      time:0    }  },  mounted(){    axios.get('http://www.imooc.com/activity/servicetime').then((res)=>{      this.time = res.data;    })  }}

很显然这种情况会报错,因为浏览器有安全限制,不允许随意调用其它网站的接口,需要遵循同源策略(同协议、同域名、同端口)

所以,我们需要添加接口代理来解决,事件工作当中,我们前后端做接口联调时,同样基于接口代理的方式:

创建vue.config.js配置

/* vue.config.js */module.exports = {    devServer:{        host:'localhost',        port:8080,        proxy:{            '/activity':{                target:'http://www.imooc.com'            }        }    }   }

这个配置可以设置启动的端口、主机和接口代理地址,拦截到/activity后会转发到另外一台服务器,从而解决跨域,此配置仅用于本地开发环境,线上环境需要同步修改Nginx.conf配置。

以上是Vue项目接口代理的方案;

Vue项目在开发阶段如何做数据Mock呢?

常用的mock方案如下:

  • 线上easy-mock平台(目前已经挂了,不提供服务了)

  • 本地搭建easy-mock平台(https://github.com/easy-mock/easy-mock)

  • mockjs插件在前端实现mock

  • mockjs插件在后端实现mock

  • 在public下创建json文件,实现数据mock

以上是我个人所用到过的各种mock方案,其中easy-mock是最好用的,然而目前已经不提供服务了,有条件的用户,可以在公司搭建easy-mock平台,如果没有条件,可以继续使用mockjs插件来实现。

Vue集成mockjs方案

mock中文文档:http://mockjs.com/

创建文件

添加mock代码

import Mock from 'mockjs'export default {    init(){        Mock.mock('/api/user/login',{            "status": 0,            "data": {              "id|+1": 0,              "list|10":[                  {                      "title":"欢迎加入前端未来"                  }              ],              "username": "@cname",              "email": "futurefe@futurefe.com",              "phone": 17611021717,              "subject":"前端未来"            }          });    }}

加载mock

import mock from './mock'# 判断是否开启mockconst isMock = true;if(isMock){  mock.init()}

接口调用

<script>import axios from 'axios'export default {  name: 'App',  components: {    HelloWorld  },  data(){    return {      time:0,      user:{}    }  },  mounted(){    // 数据mock    axios.get('/api/user/login').then((res)=>{      this.user = res.data;    })  }}script>

数据验证

以上是给大家提高Vue项目接口代理和数据Mock的方案,希望对大家有所帮助!

app接口服务器请求为什么会报错307_Vue接口代理和数据Mock,你会了吗相关推荐

  1. PHP测试使用postman发送post请求,却报错此接口不支持get请求的原因

    https://blog.csdn.net/a624193873/article/details/107739640

  2. actions vuex 请求_vue中vuex的actions里面请求接口,提交给mutations报错

    问题描述 vue中vuex的actions里面请求接口,提交给mutations报错 问题出现的环境背景及自己尝试过哪些方法 相关代码 // 请把代码文本粘贴到下方(请勿用图片代替代码) action ...

  3. 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document

    服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document  : Premature end of file. Nes ...

  4. tp6 接口上传文件/图片报错 fopen(/www/wwwroot/***/public/storage/**failed to open stream: Permission denied

    tp6 接口上传文件/图片报错 fopen(/www/wwwroot/***/public/storage/**failed to open stream: Permission denied 这是因 ...

  5. linux服务器运行matlab文件报错

    linux服务器运行matlab文件报错 在linux服务器上安装matlab之后,如果想要运行matlab程序,通常的做法是先cd到matlab文件所在的文件夹,然后输入指令 % 假定matlab文 ...

  6. 页面发送请求到后台报错“Empty or invalid anti forgery header token.”问题解决

    页面发送请求到后台报错"Empty or invalid anti forgery header token."问题解决 参考文章: (1)页面发送请求到后台报错"Emp ...

  7. 金蝶osf接口开发_调用OSF接口取待办任务总数报错!急

    总部老师,好: 在调用OSF接口取待办任务总数报错 Method failed: HTTP/1.1 404 Not Found org.apache.commons.httpclient.HttpEx ...

  8. Pyton接口自动化相关【易报错问题及解决方法】

    Pyton接口自动化相关[易报错问题及解决方法] 目录:导读 Python怎么链接数据库 python 链接数据库时报错 TypeError: %d format: a number is requi ...

  9. HTTP请求出现403报错

    HTTP请求出现403报错 在开发中使用http发送请求时由于重定向而出现的403错误 因为当前请求的这个url回跳转到另一个url 所以会出现403问题 将当前url在浏览器打开查看请求 我们需要取 ...

最新文章

  1. SAP MM 外部采购流程里的Advanced Return Management
  2. python点的作用-python中三引号的作用(逗号的两点总结)
  3. VS2008文件操作出现问题
  4. 什么是Java多态?如何实现Java多态?
  5. php更新svn,利用php进行svn更新的php代码及php执行svn更新注意事项
  6. 重磅!Nature盘点年度十佳论文,生命科学占据半壁江山,中国学者表现亮眼
  7. MongoDB---之---可视化客户端
  8. Mysql-mmm配置全自动切换主从关系和读写分离
  9. 嵌入式 Web Server 温度检测系统
  10. 为什么很多企业使用TOM邮箱收发内部邮件?
  11. java截取图片截图画框
  12. 【PS】如何简单的处理带晒伤皮肤的婚纱照?红斑/脱皮/减淡红色
  13. 我眼中的程序化交易之路
  14. 【SpringCloud 2021.0.0】12、路由网关Gateway之简介 (spring-boot 2.6.3)
  15. python快速实现简易超级玛丽小游戏
  16. android studio Emulator is outdated
  17. 中科院读芯术python答案_Python调用中科院NLPIR(ICTCLAS2015)详解 刘超(lch614730@163.com)...
  18. 1.7 正则表达式【匹配空白字符和非空白字符】
  19. 微信小程序页面跳转失效原因
  20. 饿了么红包、美团优惠券开发

热门文章

  1. Counter 用法 from collections import Counter
  2. 涉嫌内幕交易?美国SEC对马斯克展开调查
  3. 三家快递公司涨派费:9月1日起每票上调0.1元
  4. 产业链人士:LCD显示驱动芯片价格有望趋于稳定
  5. 英伟达2022财年第二季度获得创纪录营收65.1亿美元
  6. 特斯拉同意支付150万美元和解电池电压降低的索赔
  7. 诺基亚赢得运营商Orange比利时5G合同,华为回应...
  8. 2020年中国年票房累计已突破122亿元
  9. 华为、小米和OPPO将采用联发科最新5G SoC天玑720
  10. 腾讯阿里达成“共识”!马化腾称“用链量”“用云量”或成数字时代的重要指标...