轻量级 HTTP 请求库,支持使用声明式处理复杂请求场景,兼容 axios、fetch、XHR 等多种适配器,可无缝集成至各类前端项目中。
作为前端 HTTP 请求库的新选择,它在轻量化与高性能之间取得了平衡,旨在成为替代 Axios 的核心方案。
一、什么是 Alova.JS
这是一个轻量级的 HTTP 请求库,能够通过声明式语法简化复杂请求的实现。它内置了对 axios、fetch 和 XHR 等常用适配器的支持,让你可以轻松地将它整合到任何前端技术栈中。
图片
二、核心特性与优势
跨框架兼容:完美适配 Vue、React、Svelte 等主流框架,提供一致的 API 使用体验。设计友好:采用类 Axios 的直观设计,开发者无需额外学习成本即可快速上手。极致轻量化:库体积仅为 Axios 的 30%,生产环境下打包后不足 4KB,并支持 Tree Shaking 优化。高性能内置:开箱即用请求缓存、请求共享、数据预拉取等功能,有效降低服务端负载。高扩展性:支持自定义适配器与中间件,满足各类定制化需求。服务端渲染:自动管理异步请求状态,简化 SSR 开发流程。完善的 TypeScript 支持:提供完整的类型定义,保障开发体验。三、Alova.JS 与 Axios 对比
四、从 Axios 迁移到 Alova 的核心原因
性能敏感场景的刚需:通过小体积优化移动端体验,加速高性能应用的首屏加载。提升开发效率:减少重复的状态管理与封装代码,让开发者更专注于业务逻辑。降低维护成本:内置缓存、请求共享等能力,无需额外配置即可获得性能优化,真正做到开箱即用。五、快速上手指南
1. 适配器安装(按需选择)
# 安装 Mock 适配器
npm install alova @alova/mock --save
# 安装 Axios 适配器(复用 Axios 能力)
npm install alova @alova/adapter-axios axios --save
# 安装 XHR 适配器(兼容低版本浏览器)
npm install alova @alova/adapter-xhr --save
2. 核心用法示例
创建实例import { createAlova } from ‘alova’;
import { axiosRequestAdapter } from ‘@alova/adapter-axios’;
const alovaInst = createAlova({
requestAdapter: axiosRequestAdapter()
});
const list = () => alovaInst.Get(‘/list’);
const { loading, data } = useRequest(list);
const download = () => alovaInst.Get(‘/image.jpg’, {
responseType: ‘blob’
});
const { send, onSuccess } = useRequest(download, { immediate: false });
onSuccess(({ data }) => {
const a = document.createElement(‘a’);
a.href = URL.createObjectURL(data);
a.click();
});
