
CSSIcon
CSS ICON 是一个展示纯 CSS 图标设计的项目,提供丰富图标资源与灵感。
Alova.JS 是一个轻量级请求策略库,目标是在不绑定特定 HTTP 客户端或 UI 框架的前提下,显著降低前端数据请求层的代码量。官方给出的量化指标是减少约 70% 的请求相关代码,这一数字主要来源于其对请求状态管理、缓存、预取等常见场景的封装。
Alova.JS 在设计上保持了对 HTTP 客户端和 UI 框架的双重解耦:
| 维度 | 支持范围 |
|---|---|
| HTTP 客户端 | Axios、Fetch API、XMLHttpRequest、小程序请求等 |
| UI 框架 | React、Vue、Svelte、原生 JavaScript 等 |
这意味着开发者可以在不改变请求层逻辑的情况下迁移框架或替换底层请求实现。
与直接使用 Axios 或 Fetch 不同,Alova.JS 将常见的请求交互模式抽象为可复用的策略模块:
Alova.JS 内置了轻量的响应式状态管理,请求的加载、错误、数据状态直接与组件绑定,无需手动编写 loading 和 error 状态维护逻辑。对于已有全局状态管理方案的场景,也可通过适配器接入。
Alova.JS 更适合以下类型的前端项目:
基本使用流程如下:
import { createAlova } from 'alova';
import GlobalFetch from 'alova/GlobalFetch';
import VueHook from 'alova/vue';
const alova = createAlova({
baseURL: 'https://api.example.com',
statesHook: VueHook,
requestAdapter: GlobalFetch()
});
// 定义请求方法
const getUserList = alova.Get('/users');
// 在组件中使用
const { loading, data, error } = useRequest(getUserList);







