2作者: laurent_blondy10 个月前原帖
我创建这个库是因为我在每个项目中都需要重复编写相同的 fetch 封装。每次我都需要相同的核心功能: - 让 fetch 抛出错误,以便与像 TanStack Query 这样的库无缝集成 - 为 Fetch API 添加合理的默认值,比如基础 URL 和身份验证头 - 在 OpenAPI 不是一个选项时,验证响应以确保类型安全 我还希望这个库的使用体验与 fetch 完全一致——不需要学习新的 API,也不会给我的团队带来额外的麻烦。 虽然市场上有其他很好的选择,但我发现许多库要么过于僵化,要么过于臃肿。将一个 14kb 的 fetch 库交付给客户端,难道不觉得不妥吗? 为了保持 up-fetch 小巧灵活,我采取了一种简单的方法:轻量级的默认设置,结合控制反转,使用户能够轻松覆盖他们需要的部分。 结果是?up-fetch 压缩后仅重 1.6kb,内置验证(由 Standard Schema 提供支持)、可配置选项、重试、超时、流式处理和进度跟踪、生命周期钩子等功能。 如果你有时间,欢迎查看一下——我很想收集一些反馈!