vue-cli3使用mock数据的方法分析


Posted in Javascript onMarch 16, 2020

本文实例讲述了vue-cli3使用mock数据的方法。分享给大家供大家参考,具体如下:

在前后端分离的开发模式中,后端给前端提供一个接口,由前端向后端发请求,得到数据后前端进行渲染。由于前后端开发进度的不统一,前端往往使用本地的测试数据进行数据渲染的测试。

正文开始

在vue-cli构建的项目,我们可以借助devServer开启一个服务,然后我们可以通过路由模拟一个接口来进行测试。

在vue-cli2和vue-cli3中的配置方式是不同的。下面分别展示

## vue-cli2

先放一张vue-cli2生成项目图片

vue-cli3使用mock数据的方法分析

mock文件夹是一个我自己创建的用来存放模拟数据的文件夹,其中有一个json文件,下面我们要对build目录下webpack.dev.conf.js进行配置

// 引入文件
const goodsList = require('../mock/goods.json');
// ……
// 配置devServer
devServer: {
  clientLogLevel: 'warning',
  historyApiFallback: {
   rewrites: [
    { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
   ],
  },
  hot: true,
  contentBase: false, // since we use CopyWebpackPlugin.
  compress: true,
  host: HOST || config.dev.host,
  port: PORT || config.dev.port,
  open: config.dev.autoOpenBrowser,
  overlay: config.dev.errorOverlay
   ? { warnings: false, errors: true }
   : false,
  publicPath: config.dev.assetsPublicPath,
  proxy: config.dev.proxyTable,
  quiet: true, // necessary for FriendlyErrorsPlugin
  watchOptions: {
   poll: config.dev.poll,
  },
  before(app){
   app.get('/goods/list',(req,res,next)=>{
    res.json(goodsList);
   })
  }

后面的before(app)部分就定义了可以通过向/goods/list发送get请求来得到我们要的json文件。

同事我们在vue文件中只要

// 利用了axios
axios.get("/goods/list").then(res => {
    this.goodsList = res.data.result;
   }).catch(error=>{
    console.log(error);
   });

就可以请求到数据

vue-cli3

vue-cli3主打自动化,0配置。但是我们往往需要进行一些配置,这时我们就要创建一个配置文件。目录结构如下

vue-cli3使用mock数据的方法分析

vue.config.js就是我们手动创建的配置文件,完整的配置项可以在官网看到,在这里我们着重于devServer

const mockdata = require('./mock/test.json');

module.exports={
 devServer: {
  port:4000,
  before(app){
   app.get('/goods/list',(req,res,next)=>{
    res.json(mockdata);
   })
  }
 }
}

这样就达到了相同的效果

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
Sep 01 Javascript
浅谈JavaScript中指针和地址
Jul 26 Javascript
JS提交form表单实例分析
Dec 10 Javascript
javaScript数组迭代方法详解
Apr 14 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
jQuery事件用法详解
Oct 06 Javascript
基于JavaScript实现自定义滚动条
Jan 25 Javascript
JavaScript数据结构之二叉树的删除算法示例
Apr 13 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
Sep 26 Javascript
JS基于Location实现访问Url、重定向及刷新页面的方法分析
Dec 03 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 Javascript
在react中使用vue的状态管理的方法示例
May 02 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 #Javascript
vue从零实现一个消息通知组件的方法详解
Mar 16 #Javascript
JavaScript实现动态留言板
Mar 16 #Javascript
vue中的双向数据绑定原理与常见操作技巧详解
Mar 16 #Javascript
js+canvas实现纸牌游戏
Mar 16 #Javascript
微信小程序利用button控制条件标签的变量问题
Mar 15 #Javascript
JS apply用法总结和使用场景实例分析
Mar 14 #Javascript
You might like
php 伪造本地文件包含漏洞的代码
2011/11/03 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
JavaScript函数的4种调用方法详解
2014/04/22 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
JavaScript中this详解
2015/09/01 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
js实现select下拉框选择
2020/01/11 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
Python入门教程之if语句的用法
2015/05/14 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
python绘制评估优化算法性能的测试函数
2019/06/25 Python
Django  ORM 练习题及答案
2019/07/19 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
如何基于python实现不邻接植花
2020/05/01 Python
浅析python连接数据库的重要事项
2021/02/22 Python
解决Python import .pyd 可能遇到路径的问题
2021/03/04 Python
加拿大在线隐形眼镜和眼镜店:VisionPros
2019/10/06 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
大学毕业生个人自荐信范文
2014/01/08 职场文书
益达广告词
2014/03/14 职场文书
房产公证书范本
2014/04/10 职场文书
乡镇群众路线专项整治方案
2014/11/03 职场文书
2015元旦节寄语
2014/12/08 职场文书
实习单位鉴定意见
2015/06/04 职场文书
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
让JavaScript代码更加精简的方法技巧
2022/06/01 Javascript