vue-cli3读取本地json文件

简介: vue-cli3读取本地json文件


背景

一般前端mock数据或者数据量过大且不需要考虑安全问题,或者数据稳定不需要常做变更的场景,这些数据可以由前端进行维护,将数据转为json文件放到前端本地进行读取。

由于公司业务,需要在进入页面的时候,一次获取15万条数据用于输入框的模糊搜索,但是这样前端一次性获取如此大量的数据,直接就导致了页面崩溃,加载奇慢。

这么大量且不需要时常做变更的数据,除了放到后端,通过分页的办法进行请求,还可以采用将数据转为json文件,存到前端的本地项目里,由前端进行维护。

前端如何读取本地json文件

前端存放json文件的位置

我们的项目是通过vue-cli3创建的,vue-cli3版本脚手架对外暴露的静态文件入口是public文件夹(原来是static文件夹),这里本地json文件也应该放在这里

请求JSON数据

封装axios实例

import axios from 'axios';
const service = axios.create({
  baseURL: '', // 请求本地json文件,那么baseURL取空字符串,域名就会是项目域名
  timeout: 30000,
});
// 请求拦截
service.interceptors.request.use(
  (config) => {
    return config;
  },
  (error: any) => {
    Promise.reject(error);
  },
);
// 响应拦截
service.interceptors.response.use(
  (response: any) => {
    const res = response.data;
    return Promise.resolve(res);
  },
  (error: any) => {
    return Promise.reject(error);
  },
);
export default service;

封装请求方法

特别注意:json文件存放在public目录下,如/public/data/jsonData.json,那么在请求json数据的时候,地址千万千万千万不能写/public/data/jsonData.json,而是写/data/jsonData.json,否则会报404,因为静态资源在打包后,默认public内的文件放在项目根目录,

import $axiosJson from '@/utils/axiosJson'; // 引入封装的axios实例
// 获取本地json数据
export const getJsonDataApi = () => {
  return $axiosJson({
    url: `/data/jsonData.json`, // json文件地址
    method: 'GET',
  });
};

页面组件调用请求方法

<template>
  <div></div>
</template>
<script lang='ts'>
import { Vue, Component } from 'vue-property-decorator';
import { getJsonDataApi } from '@/api/account';
@Component({
  components: {
  },
})
export default class GetJson extends Vue {
  private jsonData: any = [];
  private created() {
    this.getBankList();
  }
  // 获取本地JSON数据
  private async getJsonData() {
    const res = await getJsonDataApi();
    this.jsonData= res;
  }
}
</script>
<style lang='scss' scoped>
</style>

文章参考:https://blog.csdn.net/reffrselom/article/details/96873428

目录
相关文章
|
1月前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
85 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
3月前
|
JSON API 网络架构
【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图
【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图
|
3月前
|
JSON 数据格式 Python
【2023最新】Matlab 保存JSON数据集文件,并用Python读取
本文介绍了如何使用MATLAB生成包含数据和标签的JSON格式数据集文件,并展示了用Python读取该JSON文件作为训练集的方法。
123 1
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
38 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
2月前
|
XML JSON JavaScript
R JSON 文件
JSON: JavaScript Object Notation(JavaScript 对象表示法)。
69 29
|
1月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
64 2
|
1月前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
26 0
|
2月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
73 1
|
2月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
137 2
|
2月前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
121 9