当前位置: 首页 > article >正文

本地学习axios源码-如何在本地打印axios里面的信息

1. 下载axios到本地

git clone https://github.com/axios/axios.git

2. 下载react项目, 用vite按照提示命令配置一下vite + react + ts项目

npm create vite my-vue-app --template react

3. 下载koa, 搭建一个axios请求地址的服务端

a.初始化package.json

mkdir koa-server
cd koa-server
npm init -y

 b.安装koa以及一些必要的中间件

npm install koa koa-router koa-bodyparser @koa/cors

c.创建服务器,在项目根目录下创建一个 server.js 文件

const Koa = require('koa');
const Router = require('koa-router');
const bodyParser = require('koa-bodyparser');
const cors = require('@koa/cors');

const app = new Koa();
const router = new Router();

// 使用中间件
app.use(cors());
app.use(bodyParser());

// 定义路由
router.get('/api/data', async (ctx) => {
  ctx.body = { message: 'Hello from Koa!' };
});

router.post('/api/data', async (ctx) => {
  const data = ctx.request.body;
  ctx.body = { received: data };
});

// 使用路由
app.use(router.routes()).use(router.allowedMethods());

// 启动服务器
const port = 3009;
app.listen(port, () => {
  console.log(`Koa server is running on http://localhost:${port}`);
});

d.启动koa服务器 

node server.js

 4. 把本地的axios引入到react项目中

import React, { useEffect, useState } from 'react';

import axios from '../../axios/lib/axios';

console.log('axios:::', axios);

export default function Home() {
  const [message, setMessage] = useState<string>('');
  const [postData, setPostData] = useState<any>(null);

  useEffect(() => {
    // GET 请求
    axios.get('http://localhost:3009/api/data')
      .then((response: any) => {
        console.log('response:::', response);
        setMessage(response.data.message);
      })
      .catch((error: any) => {
        console.error('Error fetching data:', error);
      });
  }, []);

  const handlePost = () => {
    // POST 请求
    axios.post('http://localhost:3009/api/data', { data: 'Hello from React!' })
      .then((response: any) => {
        console.log('response:::', response);
        setPostData(response.data.received);
      })
      .catch((error: any) => {
        console.error('Error posting data:', error);
      });
  };

  return (
    <div className="App">
      <h1>{message}</h1>
      <button onClick={handlePost}>Send POST Request</button>
      {postData && <p>Received: {postData.data}</p>}
    </div>
  )
}

 就可以在axios文件中console打印日志了

 


http://www.kler.cn/a/417605.html

相关文章:

  • Facebook的开源项目解析:推动开发者社区的技术进步
  • 详解LZ4文件解压缩问题
  • 行列式与线性方程组解的关系
  • SnowFlake
  • 量化交易系统开发-实时行情自动化交易-8.2.发明者FMZ平台
  • 给定一个整数可能为正,0,负数,统计这个数据的位数.
  • 如何构建一个可扩展、全球可访问的 GenAI 架构?
  • 回调函数知识点
  • python股票数据分析(Pandas)练习
  • IDEA Windows\Linux 快捷键
  • BP插件的首个Demo
  • transformers bert-base-uncased情感分析
  • jdk8没有Files.readString()
  • Refit 使用详解
  • 用MATLAB符号工具建立机器人的动力学模型
  • 抖店飞鸽客服自动化插件-自动回复或自动转接会话
  • Qt 中的 UiTools 详解
  • 智能堆叠,集群和IRF
  • vue3+typescript自定义input组件
  • 【课堂笔记】隐私计算实训营第四期:“隐语”PIR功能及使用介绍
  • 【Python网络爬虫笔记】2-HTTP协议中网络爬虫需要的请求头和响应头内容
  • Z2400046 基于JAVA+SSM+MYSQL的高校运动会管理系统的设计与实现 源码 配置 文档
  • Nginx:ssl
  • 算法练习——二分算法
  • Linux的SSH远程管理及安全配置
  • [OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker pull线上镜像方式构建编译环境