0.1.10 • Published 3 years ago
dequester v0.1.10
dequester
注意!注意!注意!
仓库已经停止维护,已经重新实现,可以使用 booze。
因为这个项目已经比较久远,当初的实现也存在很多问题,所以重启新项目。
什么是dequester
dequester 是跨平台的上层请求框架,支持 Node、浏览器、小程序,让开发者更侧重请求在业务逻辑上的表述能力。
安装
npm i dequester -S安装对应的适配器依赖(不需要全部安装,如底层想使用 axios 驱动,只需要安装 axios)。
npm i axios -s
npm i flyio -s
npm i jquery -s使用
import { Post, Prefix, BodyType, useAdapter } from 'dequester';
import axiosAdapter from 'dequester/adapter/axios';
useAdapter(axiosAdapter); // 注册一个适配器 全局只需注册一次
@Prefix('https://domain.com')
class Request {
@Post('/path')
@BodyType('FormData')
async getUserInfo(id) {
// 请求参数
return {
user_id: id,
};
}
}
const request = new Request();
// do request
const info = await request.getUserInfo(996);适配器
dequester 只是一个收集请求信息的工具,处理请求依然以来第三方框架。
目前 dequester 只提供了 最简单的 axios 适配器。
通过这套机制,可以让 dequester 在任何支持 装饰器 特性的环境中工作。
注册适配器
import { useAdapter } from 'dequester';
import axiosAdapter from 'dequester/adapter/axios';
useAdapter(axiosAdapter); // 注册一个适配器 全局只需注册一次编写适配器
适配器可以自己编写,其本身只是个函数。
import { useAdapter } from 'dequester';
const adapter = async (options) => {
const res = await request(options);
return res;
};
useAdapter(adapter);函数的参数就是被 requester 收集处理后的请求信息。