# Ky 教程

URL: https://caijiao.org/ky/
Source: docs/ky/index.md
Description: 系统学习 Ky —— 基于 Fetch API 的现代轻量级 HTTP 请求库，从安装到最佳实践全面讲解。

本教程系统讲解 **Ky** —— 一个基于 Fetch API 的现代轻量级 HTTP 请求库。通过本教程，你将学会如何安装、配置、使用 [Ky](/ky/) 发起 HTTP 请求，处理 JSON 数据，管理请求错误，以及在实际项目中应用最佳实践。

## 教程结构

1. **简介**  
   Ky 的基本概念与特点，快速上手示例。  

2. **安装与配置**  
   如何在项目中安装 Ky 并进行全局或实例配置。  

3. **基本用法**  
   发起 GET、POST 请求，解析响应数据。  

4. **请求方法**  
   详细讲解 GET、POST、PUT、DELETE 等 HTTP 方法的使用方式。  

5. **请求头与选项**  
   设置自定义请求头、Query 参数、超时等请求选项。  

6. **全局配置与实例**  
   创建可复用的 Ky 实例，并统一管理配置。  

7. **错误处理**  
   捕获请求错误和响应错误，处理 HTTP 状态码。  

8. **超时与取消请求**  
   使用超时设置和 `AbortController` 取消请求。  

9. **拦截器与中间件**  
   在请求前或响应后执行自定义逻辑。  

10. **文件上传与下载**  
    实现文件上传、下载及进度处理。  

11. **与 JSON / Form 数据交互**  
    发送 JSON、FormData 数据并解析响应。  

12. **常见场景示例**  
    实际开发中常用的请求场景和代码示例。  

13. **与 Axios 对比**  
    对比 Ky 与 [Axios](/axios/) 的优缺点及适用场景。  

14. **最佳实践**  
    总结 Ky 使用中的技巧、注意事项和优化方案。  

## 快速安装

```bash
npm install ky
````

## 快速示例

```javascript
import ky from 'ky';

async function fetchData() {
  const data = await ky.get('https://api.example.com/data').json();
  console.log(data);
}

fetchData();
```
