深入解析Vue CLI 3.0脚手架如何mock数据

news/2024/7/10 2:50:39 标签: vue

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

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

因为最近自己在自学 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 进行配置即可。

前端全栈学习交流圈:866109386,面向1-3经验年前端开发人员,帮助突破技术瓶颈,提升思维能力,群内有大量PDF可供自取,更有干货实战项目视频进群免费领取。

2.0 的文件结构

3.0 的文件结构

可以看到 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'
    }
   }
  }
}

前端全栈学习交流圈:866109386,面向1-3经验年前端开发人员,帮助突破技术瓶颈,提升思维能力,群内有大量PDF可供自取,更有干货实战项目视频进群免费领取。

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

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)

总结
为了帮助大家让学习变得轻松、高效,给大家免费分享一大批资料,帮助大家在成为全栈工程师,乃至架构师的路上披荆斩棘。在这里给大家推荐一个前端全栈学习交流圈:866109386.欢迎大家进群交流讨论,学习交流,共同进步。

当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

但最重要的是不知道哪些技术需要重点掌握,学习时频繁踩坑,最终浪费大量时间,所以有有效资源还是很有必要的。

最后祝福所有遇到瓶疾且不知道怎么办的前端程序员们,祝福大家在往后的工作与面试中一切顺利。


http://www.niftyadmin.cn/n/1300996.html

相关文章

pngquant压缩中文路径文件夹

ZipDir.bat: echo %1 echo %~n1 echo off & color 0A ::指定起始文件夹 set DIR %1 echo DIR%DIR%setlocal enabledelayedexpansion set /a a0echo !a!:: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹 :: %%f 是一个变量,类似于迭代器,但是这个变量只…

Java文件名规则与 main

1.如果文件中只有一个类,Java文件名必须与类名一致; 2.一个Java文件中只能有一个public类; 3.如果文件中不止一个类,文件名必须与public类名一致;

Unity实现震屏效果(屏幕抖动)

文章转载自:https://blog.csdn.net/wafcc9/article/details/83057533 通过设置相机的Viewport Rect 来实现,将下面的脚本挂在相机上,设置enabledtrue就可实现屏幕震动效果。 using System.Collections; using System.Collections.Generic; using Unity…

JS动态创建对象的属性详解

面向对象的JavaScript在客户端编码时提供了极大的灵活性,Javascript对象上的属性有助于设置可在对象内使用以管理和使用数据的值。 我对JavaScript中属性的理解,在javascript中,可以通过在文字对象上定义变量来创建属性。 例如 var obj {p…

Socket 之TCP UDP

Socket 本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。…

TypeScript接口的实现总结

最近又重新用TypeScript来作项目语言,然后发现一个比较有意思的事情,那就是: TypeScript判断一个类是否继承自哪个接口,根本不需要implements对应的接口,只需要实现接口该接口对应的方法和初始化该接口对应的属性&…

详解在vue中使用echarts图表实例代码

安装vue依赖 使用npm npm install echarts --save使用yarn yarn add echarts使用国内的淘宝镜像: //安装淘宝镜像 npm install -g cnpm --registryhttps://registry.npm.taobao.org//从淘宝镜像下载 cnpm install echarts -S引入ECharts 安装好的ECharts会放在…

CDN缓存

文章转载自:https://blog.csdn.net/lzj3462144/article/details/90270755 最近项目在做优化,计划将项目中高频接口放入CDN,正好也趁此学习下。 一,CDN是什么? CDN的全称是Content Delivery Network,即内容分发网络。CD…