跨端请求库
本篇介绍如何在 Taro 中使用 web 生态下的网络请求库, 这里以 axios 为例。
原理
我们通过 @tarojs/plugin-http 插件,在小程序环境下 runtime 注入模拟实现的 XMLHttpRequest , 从而支持在小程序环境中使用 web 生态下的各种网络请求库。至此,你可以在 h5、小程序、react native 中畅快使用 axios 库作为请求库。
理论上, 任何底层基于 XMLHttpRequest 开发的 web 库你都可以自由使用。
插件使用
安装
npm i @tarojs/plugin-http axios
配置
// config/index.js
config = {
// ...
plugins: ['@tarojs/plugin-http'],
}
代码引入
import axios from "axios";
const request = axios.create({
baseURL: ""
});
export request;
插件完整配置参数
| 参数名 | 默认值 | 说明 |
|---|---|---|
| enableCookie | false | (是否)注入相关代码,支持 document.cookie 、 通过后端返回 Set-Cookie 响应头来设置 cookie |
| disabledFormData | true | (是否)禁用掉 FormData 全局对象 |
| disabledBlob | true | (是否)禁用掉 Blob 全局对象 |
限制
限制
- 暂不支持上传,且插件默认会将全局
FormData、Blob对象替换成undefined(仅针对小程序环境) - 本插件需搭配 taro 主包 3.6.0 及其以上版本使用
- webpack4 用户需升级插件版本为
3.6.6及其以上
插件发布记录
3.6.0插件首次发布3.6.6fix: @tarojs/plugin-http 对 webpack4 的兼容3.6.7优化事件属性的实现, #138243.6.8修复发送请求时未正确携带包含httpOnly的cookie的问题,#13941