详解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编程起步(第五课)
Feb 27 Javascript
js控制iframe的高度/宽度让其自适应内容
Apr 09 Javascript
javascript最基本的函数汇总
Jun 25 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 Javascript
原生js封装自定义滚动条
Mar 24 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
js异步编程小技巧详解
Aug 14 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
浅谈node中的cluster集群
Jun 02 Javascript
基于React+Redux的SSR实现方法
Jul 03 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
Apr 27 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 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动态生成javascript文件的2个例子
2014/04/11 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
用函数式编程技术编写优美的 JavaScript_ibm
2008/05/16 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
针对BootStrap中tabs控件的美化和完善(推荐)
2016/07/06 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
获取layer.open弹出层的返回值方法
2018/08/20 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
vue 实现 rem 布局或vw 布局的方法
2019/11/13 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python使用Scrapy保存控制台信息到文本解析
2017/12/27 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
python 利用pywifi模块实现连接网络破解wifi密码实时监控网络
2019/09/16 Python
python爬取音频下载的示例代码
2020/10/19 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
使用phonegap获取设备的一些信息方法
2017/03/31 HTML / CSS
SheIn俄罗斯:时尚女装网上商店
2017/02/28 全球购物
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
副总经理工作职责
2013/11/28 职场文书
《散步》教学反思
2014/03/02 职场文书
推荐信格式要求
2014/05/09 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
植物园观后感
2015/06/11 职场文书