详解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中的数学函数
Apr 04 Javascript
JavaScript 基础知识 被自己遗忘的
Oct 15 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
Feb 10 Javascript
基于javascript实现随机颜色变化效果
Jan 14 Javascript
jquery插件之文字间歇自动向上滚动效果代码
Feb 25 Javascript
Vue.js中数组变动的检测详解
Oct 12 Javascript
微信小程序 删除项目工程实现步骤
Nov 10 Javascript
基于jQuery实现一个marquee无缝滚动的插件
Mar 09 Javascript
深入解析Vue 组件命名那些事
Jul 18 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 Javascript
JS指定音频audio在某个时间点进行播放
Nov 28 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中接口与抽象类的区别
2013/06/08 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
jquery $.each() 使用小探
2013/08/23 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
分享jQuery封装好的一些常用操作
2016/07/28 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
使用python实现rsa算法代码
2016/02/17 Python
python之文件的读写和文件目录以及文件夹的操作实现代码
2016/08/28 Python
python和flask中返回JSON数据的方法
2018/03/26 Python
用python写一个定时提醒程序的实现代码
2019/07/22 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
在pycharm创建scrapy项目的实现步骤
2020/12/01 Python
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
摩飞电器俄罗斯官方网站:Morphy Richards俄罗斯
2020/07/30 全球购物
中专生毕业自我鉴定
2013/11/01 职场文书
火车的故事教学反思
2014/02/11 职场文书
教师通用专业自荐书范文
2014/02/11 职场文书
2014年度考核工作总结
2014/12/24 职场文书
趣味运动会赞词
2015/07/22 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书