TypeScript :使用mock提供数据&as const 的使用&tsconfig.json配置

简介: 本文介绍了如何在项目中使用 Mock 提供数据,包括安装依赖、配置 Vite 和 TypeScript,以及如何使用 `as const`、元组和 tsconfig.json 配置文件。通过这些配置,可以实现更灵活和高效的开发体验。

前言

在现代前端开发中,测试和数据模拟变得越来越重要,尤其是在构建复杂的用户界面时。使用 Mock 数据可以帮助开发者在没有真实后端的情况下进行有效的开发和调试。本文将详细介绍如何在项目中使用 Mock 提供数据,包括安装所需的依赖、配置 Vite 和 TypeScript,以及如何利用 as const 和元组等特性来增强数据的类型安全性。此外,我们还将探讨 tsconfig.json 配置文件的相关设置,以确保项目的最佳实践和灵活性。通过这些配置,您将能够实现更高效的开发体验,轻松应对动态数据的需求,无论您是在开发新功能还是进行单元测试。无论您是刚入门的开发者还是经验丰富的工程师,本指南都将为您提供实用的建议和技巧,帮助您掌握 Mock 数据的使用。

使用mock提供数据

简单使用

下载好所有需要的依赖
注意这个
npm i mockjs vite-plugin-mock@2.9.8 -D
npm i vue-router axios -S

vite.config.ts的配置

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { viteMockServe } from 'vite-plugin-mock'
// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    // mock服务
    viteMockServe({
      supportTs: false,
      logger: false,
      mockPath: "./src/mock/",
    }),
  ]
})

混入

对象的

// 对象的混入
interface Name{
  name:string
}

interface Age{
  age:number
}
let a:Name={name:"youren"}
let b:Age={age:22}
let obj = Object.assign(a,b)
console.log(obj)

as const 的使用

在TypeScript中,as const 是一种类型断言,但它具有特殊的行为,不仅仅是告诉TypeScript编译器“我确定这个值的类型是这样的”,而是实际地改变了值的类型,使其成为一个只读且每个元素类型都被固定下来的元组(tuple)类型。

当你对一个数组使用 as const 时,TypeScript会创建一个只读的元组类型,其中每个元素的类型都被固定为它们在数组字面量中的类型,并且整个数组的类型也被固定下来,不再是普通的数组类型。这意味着你不能向这个数组添加新的元素,也不能修改现有元素的值(如果元素是可变的)。


将数组里面的元素可以展开使用

// as const 也是类型断言的一种
const args = [8, 5];
// const args: number[]
const angle = Math.atan2(...args); // error! Expected 2 arguments, but got 0 or more.
console.log(angle);
const args = [8, 5] as const;
// const args: readonly [8, 5]
const angle = Math.atan2(...args); // okay
console.log(angle);


元组


我们知道数组中元素的数据类型都一般是相同的(any[] 类型的数组可以不同),如果存储的元素数据类型不同,则需要使用元组。

元组中允许存储不同类型的元素,元组可以作为参数传递给函数。

var tuple_name = [value1,value2,value3,…value n]

元组运算

我们可以使用以下两个函数向元组添加新元素或者删除元素:

push() 向元组添加元素,添加在最后面。

pop() 从元组中移除元素(最后一个),并返回移除的元素。

var a =[10,"Runoob"] 
var [b,c] = a 
console.log( b )    
console.log( c )

tsconfig.json配置

在TS的项目中,TS最终都会被编译JS文件执行,TS编译器在编译TS文件的时候都会先在项目根目录的tsconfig.json文件,根据该文件的配置进行编译,默认情况下,如果该文件没有任何配置,TS编译器会默认编译项目目录下所有的.ts、.tsx、.d.ts文件。实际项目中,会根据自己的需求进行自定义的配置,下面就来详细了解下tsconfig.json的文件配置。


files : 表示编译需要编译的单个文件列表

"files": [
  // 指定编译文件是src目录下的a.ts文件
  "scr/a.ts"
]

 


"include": [
   "scr" // 会编译src目录下的所有文件,包括子目录
   "scr/*" // 只会编译scr一级目录下的文件
  "scr/*/*" // 只会编译scr二级目录下的文件
]

"exclude": [
  // 排除src目录下的lib文件夹下的文件不会编译
  "src/lib"
]

"compileOnSave": true

typeRoots:指定额外的类型声明文件的搜索位置,通常用于指定全局声明文件的位置。

include:指定哪些文件需要参与编译,可以使用通配符匹配多个文件。

exclude:指定哪些文件不参与编译,可以使用通配符排除多个文件



{
  "compilerOptions": {
    "typeRoots": ["./typings"]
  }
}


相关文章
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
21天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
25天前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
18天前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
2月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
在Java中处理JSON数据:Jackson与Gson库比较
|
2月前
|
JavaScript 前端开发 开发者
TypeScript :module&传输数据
本文介绍了JavaScript模块的基本概念、语法及使用方法,包括如何定义和导入模块、处理默认导出与按需导入、以及在Vue组件中使用`props`和`emit`进行数据传递和事件触发的方法。通过示例代码详细解释了模块化编程和组件间通信的实现方式。
|
2月前
|
JSON API 数据格式
商品详情数据JSON格式示例参考(api接口)
JSON数据格式的商品详情数据通常包含商品的多个层级信息,以下是一个综合多个来源信息的JSON数据格式的商品详情数据示例参考:
|
2月前
|
存储 JSON 前端开发
JSON与现代Web开发:数据交互的最佳选择
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也便于机器解析和生成。它以文本格式存储数据,常用于Web应用中的数据传输,尤其是在客户端和服务器之间。
60 0
|
2月前
|
JavaScript 前端开发 安全
深入理解TypeScript:增强JavaScript的类型安全性
【10月更文挑战第8天】深入理解TypeScript:增强JavaScript的类型安全性
50 0
|
2月前
|
JavaScript 前端开发 开发者
深入理解TypeScript:类型系统与实用技巧
【10月更文挑战第8天】深入理解TypeScript:类型系统与实用技巧