axios-miniprogram/docs/pages/guide/quick-start.md

181 lines
3.1 KiB
Markdown

---
title: 开始
---
# {{ $frontmatter.title }}
## 安装
:::: code-group
```bash [NPM]
$ npm install -D axios-miniprogram
```
```bash [YARN]
$ yarn add -D axios-miniprogram
```
```bash [PNPM]
$ pnpm install -D axios-miniprogram
```
::::
原生小程序也可以直接[下载源码包](https://github.com/zjx0905/axios-miniprogram/releases),但是这样是失去类型提示和 `sourceMap` 定位功能。
建议在条件允许的情况下优先使用包管理工具安装的方式,而不是使用下载源码包的方式。
## 引用
:::: code-group
```ts [ES Module]
import axios from 'axios-miniprogram';
axios('test');
```
```ts [CommonJS]
const axios = require('axios-miniprogram').default;
axios('test');
```
::::
## 使用
### 引用
可以导入需要使用的功能。
```ts
import axios, {
// 取消令牌
CancelToken,
// 判断取消请求错误
isCancel,
// 原始 Axios 类
Axios,
// 判断请求响应错误
isAxiosError,
// 创建平台适配器
createAdapter,
} from 'axios-miniprogram';
```
axios 上也有同样的功能。
```ts
import axios from 'axios-miniprogram';
// axios 同样也有这些功能
const {
// 取消令牌
CancelToken,
// 判断取消请求错误
isCancel,
// 原始 Axios 类
Axios,
// 判断请求响应错误
isAxiosError,
// 创建平台适配器
createAdapter,
} = axios;
```
axios 上还有一些额外的功能。
```ts
const {
// 创建实例
create,
// 获取已处理的 URL
getUri,
} = axios;
```
### `axios(url, config?)`
可以通过把 `url``config` 传递给 `axios` 来发送请求。
注意: `config` 为选填
```ts
import axios from 'axios-miniprogram';
// 默认发送 GET 请求
axios('https://api.com/test')
.then((response) => {
// 请求成功后做些什么
})
.catch((error) => {
// 请求失败后做些什么
});
// 发送 POST 请求
axios('https://api.com/test', {
method: 'POST',
})
.then((response) => {
// 请求成功后做些什么
})
.catch((error) => {
// 请求失败后做些什么
});
```
### `axios(config)`
也可以直接把 `config` 传递给 `axios` 来发送请求。
```ts
import axios from 'axios-miniprogram';
// 默认发送 GET 请求
axios({
url: 'https://api.com/test',
})
.then((response) => {
// 请求成功后做些什么
})
.catch((error) => {
// 请求失败后做些什么
});
// 发送 POST 请求
axios({
url: 'https://api.com/test',
method: 'POST',
})
.then((response) => {
// 请求成功后做些什么
})
.catch((error) => {
// 请求失败后做些什么
});
```
也可以使用请求方法简化请求。
- [axios.request(url, config?) | axios.request(config)](/basics/request)
- [axios.options(url, config?)](/method/OPTIONS)
- [axios.get(url, params?, config?)](/method/GET)
- [axios.head(url, params?, config?)](/method/HEAD)
- [axios.post(url, data?, config?)](/method/POST)
- [axios.put(url, data?, config?)](/method/PUT)
- [axios.patch(url, data?, config?)](/method/PATCH)
- [axios.delete(url, params?, config?)](/method/DELETE)
- [axios.trace(url, config?)](/method/TRACE)
- [axios.connect(url, config?)](/method/CONNECT)