适配器切换
支持的适配器
本库支持多种 HTTP 客户端适配器,你可以根据场景选择最适合的:
- Axios - 适合通用场景,功能丰富,生态完善
- Undici - Node.js 原生高性能 HTTP 客户端,适合高并发场景
切换适配器
import { EClientAdapter } from 'nstarter-http-request';
// 使用 Axios 适配器(适合通用场景)
const axiosClient = new NsHttpClient().withAdapter(EClientAdapter.axios);
// 使用 Undici 适配器(高性能,Node.js 原生)
const undiciClient = new NsHttpClient().withAdapter(EClientAdapter.undici);
在初始化时指定适配器
import { NsHttpClient, EClientAdapter } from 'nstarter-http-request';
// 创建客户端实例时指定适配器
const client = new NsHttpClient({
adapter: EClientAdapter.axios,
security: {
enableDnsValidation: false,
enableIpValidation: false,
allowPrivateIp: false
}
});
适配器选择建议
使用 Axios 的场景
- 需要丰富的配置选项
- 需要拦截器功能
- 需要广泛的浏览器兼容性(通过 polyfill)
- 团队熟悉 Axios API
使用 Undici 的场景
- 需要极致性能
- 高并发场景
- 纯 Node.js 环境
- 希望减少依赖体积