解决axios在请求本地json时跨域报错问题

一、整体流程

为了解决axios在请求本地json时跨域报错问题,我们需要采取以下步骤:

步骤 操作
1 在项目根目录下创建一个mock文件夹
2 在mock文件夹下创建一个json文件,命名为data.json
3 安装axios和http-proxy-middleware插件
4 在项目根目录下创建一个setupProxy.js文件
5 修改axios请求,指向本地json文件

二、具体操作步骤

1. 创建mock文件夹

在项目的根目录下创建一个mock文件夹,用于存放本地json文件。

2. 创建json文件

在mock文件夹下创建一个名为data.json的json文件,用于模拟后端返回的数据。

3. 安装axios和http-proxy-middleware

使用以下命令安装axios和http-proxy-middleware插件:

npm install axios http-proxy-middleware --save

4. 创建setupProxy.js文件

在项目的根目录下创建一个setupProxy.js文件,用于配置代理。

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(
    '/api',
    createProxyMiddleware({
      target: 'http://localhost:3000',
      changeOrigin: true,
    })
  );
};

5. 修改axios请求

在需要请求本地json文件的地方,修改axios请求的url,指向本地json文件路径。

import axios from 'axios';

axios.get('/api/data.json')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

三、类图

classDiagram
    class axios {
        + get(url)
    }
    class http-proxy-middleware {
        + createProxyMiddleware(options)
    }
    class setupProxy.js {
        + module.exports(app)
    }

    axios --> http-proxy-middleware
    setupProxy.js --> http-proxy-middleware

通过以上步骤,你就可以解决axios在请求本地json时跨域报错的问题。希望对你有所帮助!