【GitHub每日速递 20260414】别再手写FormData!Axios新特性炸了:自动序列化、HTTP2支持、进度追踪…前端请求效率拉满

0 阅读5分钟

别再手写FormData!Axios新特性炸了:自动序列化、HTTP2支持、进度追踪…前端请求效率拉满

[axios] 是一个 用于发送HTTP请求的 JavaScript库。简单讲,它能帮助开发者轻松地从浏览器或Node.js向服务器获取或提交数据。适用人群:前端开发者、全栈JavaScript开发者

项目地址:github.com/axios/axios

主要语言:JavaScript

stars: 108.8k

1

仓库核心功能

Axios 是一个基于 Promise 的 HTTP 客户端,适用于浏览器和 Node.js 环境。它提供了一系列强大的功能,能帮助开发者更方便地进行 HTTP 请求。

  • 多环境请求支持:可以在浏览器中直接发起 XMLHttpRequests 请求,也能在 Node.js 环境中发起 http 请求。
  • Promise 接口:完全支持 Promise API,让异步代码的编写更加容易。
  • 拦截器功能:可以拦截请求和响应,方便添加自定义逻辑或转换数据。
  • 数据自动处理:自动序列化和解析 JSON 数据,还能自动将数据对象序列化为 multipart/form-data 或 x-www-form-urlencoded 格式。
  • 请求取消机制:提供了内置的请求取消机制,方便开发者控制请求。
  • XSRF 保护:支持客户端 XSRF 保护,防止跨站请求伪造。

优势

  • 广泛的浏览器支持:支持 Chrome、Firefox、Safari、Opera 和 Edge 等主流浏览器的最新版本。
  • 丰富的配置选项:提供了详细的请求配置选项,如请求方法、超时时间、请求头、响应类型等,满足各种复杂的请求需求。
  • 灵活的实例创建:可以创建自定义的 Axios 实例,设置不同的默认配置,方便在不同场景下使用。
  • 类型支持:包含 TypeScript 定义和类型保护,方便 TypeScript 开发者使用。

应用场景

  • Web 开发:在前端项目中,用于与后端 API 进行数据交互,如获取用户信息、提交表单数据等。
  • Node.js 服务端:在 Node.js 服务器端,用于调用其他 API 服务,实现数据的获取和处理。
  • 自动化测试:在测试环境中,用于模拟 HTTP 请求,测试 API 的响应。

安装方式

  • 包管理器:支持使用 npm、bower、yarn、pnpm 和 bun 进行安装。
  • CDN:可以通过 jsDelivr 或 unpkg CDN 引入。

使用示例

import axios from "axios";

// GET 请求
try {
  const response = await axios.get("/user?ID=12345");
  console.log(response);
} catch (error) {
  console.error(error);
}

// POST 请求
const response = await axios.post("/user", {
  firstName: "Fred",
  lastName: "Flintstone",
});
console.log(response);

// 并发请求
function getUserAccount() {
  return axios.get("/user/12345");
}

function getUserPermissions() {
  return axios.get("/user/12345/permissions");
}

Promise.all([getUserAccount(), getUserPermissions()]).then(function (results) {
  const acct = results[0];
  const perm = results[1];
});

配置与使用

  • 请求配置:可以通过配置对象来设置请求的各种参数,如请求方法、URL、请求头、数据等。
  • 拦截器:可以添加请求和响应拦截器,在请求发送前或响应返回后进行处理。
  • 错误处理:提供了详细的错误类型和处理方式,方便开发者定位和解决问题。
  • 取消请求:支持使用 AbortController 或 CancelToken 取消请求。

其他特性

  • 进度捕获:支持在浏览器和 Node.js 环境中捕获请求的上传和下载进度。
  • 速率限制:可以设置下载和上传的速率限制。
  • AxiosHeaders:提供了 AxiosHeaders 类来管理头信息,保证大小写不敏感。
  • Fetch 适配器:支持使用 Fetch 适配器,还可以自定义 Fetch 函数。
  • HTTP2 支持:在 http 适配器中添加了实验性的 HTTP2 支持。

开发者狂喜!OpenAI Codex CLI本地编码助手上线,npm/brew一键装,ChatGPT账号直接用

项目地址:github.com/openai/code…

主要语言:Rust

stars: 71.5k

2

核心功能

Codex CLI 是 OpenAI 开发的一款编码代理工具,可在本地计算机上运行。它能帮助开发者更高效地进行编码工作,并且可以与多种代码编辑器集成,例如 VS Code、Cursor、Windsurf 等。此外,它还提供了桌面应用体验和基于云端的服务。

优势

  • 本地运行:减少网络依赖,提高响应速度,保障数据安全。
  • 多平台支持:支持 macOS 和 Linux 等操作系统,且针对不同架构提供了相应的二进制文件。
  • 与 ChatGPT 集成:可以使用 ChatGPT 账号登录,借助 ChatGPT 的强大功能,适用于 Plus、Pro、Team、Edu 或 Enterprise 等不同计划。

应用场景

  • 代码编写:辅助开发者快速生成代码,提高编码效率。
  • 代码调试:帮助分析代码问题,提供解决方案。
  • 学习编程:为初学者提供代码示例和解释,帮助理解编程概念。

安装与运行

  • 使用包管理器安装

    • 使用 npm:npm install -g @openai/codex
    • 使用 Homebrew:brew install --cask codex
      安装完成后,运行 codex 即可开始使用。
  • 下载二进制文件安装:可以前往 最新 GitHub Release 下载适合自己平台的二进制文件。不同平台和架构有对应的文件,如 macOS 的 Apple Silicon/arm64 对应 codex-aarch64-apple-darwin.tar.gz,Linux 的 x86_64 对应 codex-x86_64-unknown-linux-musl.tar.gz 等。解压后,将文件重命名为 codex 即可。

使用方式

  • 可以使用 ChatGPT 账号登录,运行 codex 后选择 Sign in with ChatGPT,推荐使用 Plus、Pro、Team、Edu 或 Enterprise 计划。
  • 也可以使用 API 密钥,但需要进行 额外的设置

原文:mp.weixin.qq.com/s/_pJSjnn8N…

欢迎关注公zh:AI Tech研习社

关注公zh,后台回复【OpenClaw完全使用手册】,领取OpenClaw完全使用手册.pdf学习资料,更多学习资源敬请期待。