详解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正则表达式中参数g(全局)的作用
Nov 11 Javascript
JavaScript中两个感叹号的作用说明
Dec 28 Javascript
js操作textarea 常用方法总结
Dec 03 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
Aug 15 Javascript
Node.js Sequelize如何实现数据库的读写分离
Oct 23 Javascript
浅析Node.js:DNS模块的使用
Nov 23 Javascript
js实现自动轮换选项卡
Jan 13 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
js canvas实现写字动画效果
Nov 30 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
Sep 03 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
JS函数基本定义与用法示例
Jan 15 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中的array数组类型分析说明
2010/07/27 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
php实现微信企业付款到个人零钱功能
2018/10/09 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
PHP发送邮件确认验证注册功能示例【修改别人邮件类】
2019/11/09 PHP
javascript Base类 包含基本的方法
2009/07/22 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
js操作时间(年-月-日 时-分-秒 星期几)
2010/06/20 Javascript
Firefox中autocomplete="off" 设置不起作用Bug的解决方法
2011/03/25 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
javascript实现切换td中的值
2014/12/05 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
bootstrap和jQuery.Gantt的css冲突 如何解决
2016/05/29 Javascript
详解webpack分离css单独打包
2017/06/21 Javascript
echarts饼图扇区添加点击事件的实例
2017/10/16 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
js使用formData实现批量上传
2020/03/27 Javascript
Vue入门学习笔记【基本概念、对象、过滤器、指令等】
2019/04/13 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
Python 实现12306登录功能实例代码
2018/02/09 Python
python爬虫爬取网页表格数据
2018/03/07 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
PyCharm2019 安装和配置教程详解附激活码
2020/07/31 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
HTML5+CSS3实例 :canvas 模拟实现电子彩票刮刮乐代码
2016/12/30 HTML / CSS
经贸专业毕业生求职信范文
2014/05/01 职场文书
淘宝客服工作职责
2014/07/11 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
金陵十三钗观后感
2015/06/04 职场文书