详解Vue CLI 3.0脚手架如何mock数据


Posted in Javascript onNovember 23, 2018

前后端分离的开发模式已经是目前前端的主流模式,至于为什么会前后端分离的开发我们就不做过多的阐述,既然是前后端分离的模式开发肯定是离不开前端的数据模拟阶段。

我们在开发的过程中,由于后台接口的没有完成或者没有稳定之前我们都是采用模拟数据的方式去进行开发项目,这样会使我们的前后端会同时的进行,提高我们的开发效率。

因为最近自己在自学 Vue 也在自己撸一个项目,肯定会遇到使用数据的情况,所以就想着如何在前端做一些 mock 数据的处理,因为自己的项目使用的是 vue/cli 3.0 与 vue/cli 2.0 的使用有一些的不同,所以在这里记录一下。

注意:本文主要说的是如何配置本地静态文件的 mock 数据的方式

首先我们来说一说vue/cli 3.0 与 2.0 的一些不同:

  • 3.0 移除了 static 文件目录,新增了 public 目录,这个目录下的静态资源不会经过 webpack 的处理,会被直接拷贝,所以我们能够直接访问到该目录下的资源。
  • 3.0 移除了 config、build 等配置目录,如果需要进行相关配置我们需要在根目录下创建 vue.config.js 进行配置即可。

2.0 的文件结构

详解Vue CLI 3.0脚手架如何mock数据

3.0 的文件结构

详解Vue CLI 3.0脚手架如何mock数据

可以看到 3.0 版本的脚手架在项目结构上精简了很多,看上去没有那么的繁琐。接下来我就进行 mock 数据的配置,再说 3.0 之前,我们先看看 2.0 的时候我们都是怎么使用静态数据文件进行 mock 的。

2.0 配置

首先,在这个版本是只有我们的 static 目录下的文件是可以被访问到的,所以我们就把静态文件放入该目录下。

// 静态数据存放的位置
static/mock/home.json

我们启动项目之后一般项目会启动在 8080 端口,如果不是修改下对应端口号即可,我们访问下面地址:http://localhost:8080/static/mock/index.json

我们可以看到我们的数据是可以请求到的,之后我们只需要在项目中 config/index.js 添加如下属性:

dev: {
  // Paths fiddler charles
  assetsSubDirectory: 'static',
  assetsPublicPath: '/',
  proxyTable: {
   '/api': {
    target: 'http://localhost:8080',
    pathRewrite: {
     '^/api': '/static/mock'
    }
   }
  }
}

之后我们在项目中使用即可,我们就能获取我们需要的数据。

axios
 .get('/api/index.json')
 .then(this.handler)

3.0 配置

因为 static 目录移除,我们把静态文件放入 public 文件下。

// 静态数据存放的位置
public/mock/home.json

和上面一样,启动项目后我们看看数据能不能正常被访问。http://localhost:8080/mock/home.json

之后,不同的地方在于,我们需要手动创建一个 vue.config.js 文件放在根目录下。

module.exports = {
 devServer: {
  proxy: {
   '/api': {
    target: 'http://localhost:8080',
    changeOrigin: true,
    pathRewrite: {
     '^/api': '/mock'
    }
   }
  }
 }
}

配置完成之后,我们也是和上述一样,在项目中直接访问数据即可。

axios
 .get('/api/home.json')
 .then(this.handler)

总结

以上我们就学会了如何在 vue/cli 3.0 的项目中进行 mock 数据,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
IE6下opacity与JQuery的奇妙结合
Mar 01 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
jQuery中ajax的get()方法用法实例
Dec 26 Javascript
js 获取元素在页面上的偏移量的方法汇总
Apr 13 Javascript
jQuery弹出层插件Lightbox_me使用指南
Apr 21 Javascript
BootStrap使用file-input插件上传图片的方法
Sep 05 Javascript
angular.fromJson与toJson方法用法示例
May 17 Javascript
利用Electron简单撸一个Markdown编辑器的方法
Jun 10 Javascript
小程序中this.setData的使用和注意事项
Aug 28 Javascript
Node.js系列之连接DB的方法(3)
Aug 30 Javascript
JS实现简单打字测试
Jun 24 Javascript
详解js静态检查工具eslint配置文件
Nov 23 #Javascript
详解小程序不同页面之间通讯的解决方案
Nov 23 #Javascript
创建echart多个联动的示例代码
Nov 23 #Javascript
详解Angular模板引用变量及其作用域
Nov 23 #Javascript
vue使用better-scroll实现下拉刷新、上拉加载
Nov 23 #Javascript
详解Vue2.0组件的继承与扩展
Nov 23 #Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 #Javascript
You might like
php.ini 中文版
2006/10/28 PHP
通过PHP CLI实现简单的数据库实时监控调度
2009/07/01 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP论坛实现积分系统的思路代码详解
2020/06/01 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
JavaScript 学习 - 提高篇
2007/02/02 Javascript
SyntaxHighlighter语法高亮插件使用说明
2011/08/14 Javascript
浅谈checkbox的一些操作(实战经验)
2013/11/20 Javascript
js实现类似MSN提示的页面效果代码分享
2015/08/24 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
bootstrap实现动态进度条效果
2017/03/08 Javascript
bootstrap paginator分页前后台用法示例
2017/06/17 Javascript
vue之数据交互实例代码
2017/06/20 Javascript
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
vue select二级联动第二级默认选中第一个option值的实例
2018/01/10 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
Python箱型图处理离群点的例子
2019/12/09 Python
Python如何将字符串转换为日期
2020/07/31 Python
秋季运动会活动方案
2014/02/05 职场文书
小学英语课后反思
2014/04/26 职场文书
机动车交通事故协议书
2015/01/29 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
2016年暑假家长对孩子评语
2015/12/01 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript