详解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 相关文章推荐
JavaScript入门教程(10) 认识其他对象
Jan 31 Javascript
LazyLoad 延迟加载(按需加载)
May 31 Javascript
JavaScript 浏览器验证代码(来自discuz)
Jul 17 Javascript
JavaScript调试工具汇总
Dec 23 Javascript
javascript实现动态改变层大小的方法
May 14 Javascript
基于javascript制作微博发布栏效果
Apr 04 Javascript
jQuery实现点击水纹波动动画
Apr 10 Javascript
微信小程序 实战实例开发流程详细介绍
Jan 05 Javascript
jQuery实现上下滚动公告栏详细代码
Nov 21 jQuery
微信小程序分包加载代码实现方法详解
Sep 23 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
Mar 17 Javascript
H5 js点击按钮复制文本到粘贴板
Nov 19 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 n个不重复的随机数生成代码
2009/06/23 PHP
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php防止sql注入代码实例
2013/12/18 PHP
php递归json类实例
2014/12/02 PHP
PHP输出九九乘法表代码实例
2015/03/27 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
vue中datepicker的使用教程实例代码详解
2019/07/08 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python绘制直线的方法
2018/06/30 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
python获取txt文件词向量过程详解
2019/07/05 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
Spartoo西班牙官网:法国时尚购物网站
2018/03/27 全球购物
会计专业自我鉴定范文
2013/12/29 职场文书
初中班级口号
2014/06/09 职场文书
篮球赛口号
2014/06/18 职场文书
竞选班干部演讲稿100字
2014/08/20 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
经典搞笑版检讨书
2015/02/19 职场文书